BOS物流项目第十一天

教学计划

1、在realm中进行授权

2、使用shiro的方法注解方式权限控制

a.  在spring文件中配置开启shiro注解支持

b.  在Action方法上使用注解

3、使用shiro的标签进行权限控制

a.  在页面引入shiro的标签库

b.  在页面中使用标签

4、总结shiro提供的权限控制方式

a.  URL拦截权限控制

b.  方法注解权限控制

c.  页面标签权限控制

d.  代码级别权限控制(了解)

5、权限管理

a.  初始化权限数据

b.  添加权限功能

c.  权限分页查询 

在realm中进行授权

在BOSRealm中实现授权方法:

使用shiro的方法注解方式权限控制

第一步:在spring配置文件中开启shiro注解支持

在application.xml中加入下面代码。

<!-- 开启shiro框架注解支持 -->
    <bean id="defaultAdvisorAutoProxyCreator"
        class="org.springframework.aop.framework.autoproxy.DefaultAdvisorAutoProxyCreator">
            <!-- 必须使用cglib方式为Action对象创建代理对象 -->
        <property name="proxyTargetClass" value="true"/>
    </bean>

    <!-- 配置shiro框架提供的切面类,用于创建代理对象 -->
    <bean class="org.apache.shiro.spring.security.interceptor.AuthorizationAttributeSourceAdvisor"/>

第二步:在Action的方法上使用shiro注解

第三步:在struts.xml中配置全局异常捕获,当shiro框架抛出权限不足异常时,跳转到权限不足提示页面

使用shiro提供的页面标签方式权限控制

第一步:在jsp页面中引入shiro的标签库

<%@ taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>

第二步:使用shiro的标签控制页面元素展示

总结shiro框架提供的权限控制方式

①URL拦截权限控制(基于过滤器实现)

方法注解权限控制(基于代理技术实现)

③页面标签权限控制(标签技术实现)

④ 代码级别权限控制(基于代理技术实现)

权限数据管理

5.1 初始化权限数据

当项目上线后,如果正常运行,需要依赖一些基础数据支持。权限数据,就属于基础数据,因为系统的菜单是从权限表查询获得的。一般会提供sql脚本文件,导入基础数据。

5.2 添加权限数据

页面:WEB-INF/pages/admin/function_add.jsp

修改jsp页面

先实现父功能点下拉框有数据可选择,然后可提交保存表单。

第一步:修改页面中父功能点对应的combobox,修改URL地址

第二步:创建FunctionAction、Service、Dao,查询所有的权限,返回json

action代码:

第三步:配置struts.xml

效果图如下:

第四步:为添加页面中保存按钮绑定事件,进行校验,如果校验通过就提交表单

第五步:在FunctionAction中创建add方法,添加权限

action代码:

service代码:

5.3 权限分页查询

第一步:修改页面中datagrid的URL地址

第二步:在Action中提供分页查询方法

总结

总的来说,自己对于代码还是不太熟,有时候还要再去参考才能写出来。

原文地址:https://www.cnblogs.com/huozhonghun/p/9426371.html

时间: 2024-10-07 12:05:05

BOS物流项目第十一天的相关文章

JAVAEE——BOS物流项目03:学习计划、messager、menubutton、登陆拦截器、信息校验和取派员添加功能

1 学习计划 1.jQuery easyUI messager使用方式 n alert方法 n confirm方法 n show方法 2.jQuery easyUI menubutton使用方式 3.自定义拦截器实现用户未登录自动跳转到登录页面 n 创建拦截器 n 注册拦截器 4.基于ajax实现用户修改密码功能 n easyUI中validatebox校验功能 n 发送ajax请求 n 服务端修改数据库 5.基础设置部分需求分析 6.创建基础设置部分数据表 n 取派员表 n 区域表 n 分区表

学习BOS物流项目第九天

1 教学计划 1.业务受理需求分析 a. 业务通知单 b.工单 c.工作单 2.创建业务受理环节的数据表 a.业务通知单 b.工单 c.工作单 3.实现业务受理自动分单 a.在CRM服务端扩展方法根据手机号查询客户信息 b.在CRM服务端扩展方法根据取件地址查询定区id c.调整业务受理页面回显客户信息 d.实现自动分单 4.数据表格编辑功能使用方法 5.工作单快速录入 2 业务受理需求分析 整个BOS项目分为基础设置.取派.中转.路由.报表等几大部分. 受理环节,是物流公司业务的开始,作为服务

JAVAEE——BOS物流项目02:学习计划、动态添加选项卡、ztree、项目底层代码构建

1 学习计划 1.jQuery easyUI中动态添加选项卡 2.jquery ztree插件使用 n 下载ztree n 基于标准json数据构造ztree n 基于简单json数据构造ztree(重点) 3.数据库建模工具PowerDesigner使用方式 4.myeclipse翻转引擎插件使用(了解) 5.项目底层代码构建(重点) n 持久层代码抽取 n 表现层代码抽取 6.实现BOS项目登录和注销功能 2 jQuery easyUI中动态添加选项卡 l 用于动态添加一个选项卡 l 选中指

JAVAEE——BOS物流项目05:OCUpload、POI、pinyin4J、重构分页代码、分区添加、combobox

1 学习计划 1.实现区域导入功能 n OCUpload一键上传插件使用 n 将文件上传到Action n POI简介 n 使用POI解析Excel文件 n 完成数据库操作 n 使用pinyin4J生成简码和城市编码 2.区域分页查询 n 页面调整 n 服务端实现 3.重构分页代码 n BaseAction n 子类Action 4.分区添加功能 n 什么是分区 n 页面调整(combobox使用) n 服务端实现 2 实现区域导入功能 2.1 jquery OCUpload一键上传插件使用 O

BOS物流项目第十三天

教学计划 1.Quartz概述 a. Quartz介绍和下载 b. 入门案例 c. Quartz执行流程 d. cron表达式 2.在BOS项目中使用Quartz创建定时任务 3.在BOS项目中使用JavaMail发送邮件 4.HighCharts概述 a. HighCharts介绍 b. 在线演示 5.基于HighCharts实现区域分区分布图 1 Quartz概述 1.1 quartz介绍和下载 官网:http://www.quartz-scheduler.org/ Quartz是OpenS

JAVAEE——BOS物流项目12:角色、用户管理,使用ehcache缓存,系统菜单根据登录人展示

1 学习计划 1.角色管理 n 添加角色功能 n 角色分页查询 2.用户管理 n 添加用户功能 n 用户分页查询 3.修改Realm中授权方法(查询数据库) 4.使用ehcache缓存权限数据 n 添加ehcache依赖 n 配置缓存管理器 5.系统菜单根据登录人展示 n 调整页面ajax请求地址 n 服务端查询菜单数据 2 角色管理 2.1 添加角色功能 2.1.1 页面调整 首先先完善pages/admin/function_add.jsp添加权限的页面,把下拉框改为combotree 他的

JAVAEE——BOS物流项目04:学习计划、datagrid、分页查询、批量删除、修改功能

1 学习计划 1.datagrid使用方法(重要) n 将静态HTML渲染为datagrid样式 n 发送ajax请求获取json数据创建datagrid n 使用easyUI提供的API创建datagrid(掌握) 2.实现取派员分页查询 n 调整页面基于datagrid发送ajax请求 n 创建PageBean封装分页参数 n 定义通用分页查询方法 n 将分页查询结果转为json返回 3.取派员批量删除 n 页面调整 n 服务端实现 4.取派员修改 n 页面调整 n 服务端实现 2 data

BOS物流管理系统-第一天

BOS物流管理系统-第一天-系统分析.环境搭建.前端框架 BoBo老师 整体项目内容目标: 对项目概述的一些理解 亮点技术的学习 注意学习方式:优先完成当天代码. 其他内容. 最终: 学到新的技术,会应用新的技术:对项目有个整体感觉: 课程安排:12天左右 主要内容: 项目整体概述和一般流程(项目概念.一般项目流程等) BOS项目的概述(项目背景.需求.技术架构.学习目标) 开发环境搭建 项目导入和运行(传统项目结构)(Struts2的通配符映射) 项目导入和运行(Maven项目结构)(STS开

BOS物流管理系统-第五天

BOS物流管理系统-第五天-定区管理-WebServcie远程调用 主要内容: 分区设置-导出(分区条件查询后的结果导出为Excel-POI生成Excel和文件下载) 定区管理---定区添加(定区关联分区和取派员,easyUi相关的注意的地方) 定区管理-分页条件查询(复习-form表单json转换,Spring Data Specification ) 定区管理-定区关联客户(模拟系统间:bos和crm(Customer Relational Managerment)的远程调用-WebServ