首页 > 代码库 > BOS项目 第8天(权限管理添加、角色管理添加、用户管理添加、shiro权限框架使用ecache缓存)

BOS项目 第8天(权限管理添加、角色管理添加、用户管理添加、shiro权限框架使用ecache缓存)

BOS项目笔记 第8

 

今天内容安排:

1、权限管理(初始化、查询、添加)

2、角色管理(添加、查询)

3、用户管理(添加、查询)

4、修改自定义Realm中的授权方法(基于数据库实现)

5、使用ehcache缓存权限数据

6、系统左侧菜单根据登录人的权限动态展示

 

1. 权限管理

1.1 初始化权限数据

执行sql脚本文件初始化权限数据:

 

 

1.2 权限分页查询

 

第一步:修改页面中datagridURL地址,访问FunctionActionpageQuery的分页查询方法

 

第二步:创建FunctionAction

 

第三步:配置struts.xml

 

解决分页查询问题:

方式一:修改权限表的字段和对应的权限类中的属性page

方式二:从model对象中获取page注入到pagebean对象中

1.3 权限添加功能

 

第一步:修改添加页面中的comboboxURL地址,查询所有的权限,展示到下拉框中

 

第二步FunctionAction中提供listajax方法

 

 

第三步:修改comboboxname属性

 

第四步:为保存按钮绑定事件提交表单

 

第五步:在Action中提供add方法,保存一个权限数据

 

Service代码:

 

2. 角色管理

2.1 添加角色功能

 

第一步:使用ztree展示权限树,开启ztree勾选效果

 

第二步:修改ajax方法的URL地址,访问Action,查询所有的权限数据,返回简单json数据作为ztree的节点数据

 

第三步:为保存按钮绑定事件,提交表单,选中的节点没有提交,使用ztree提供的API获得当前选中的节点,赋予指定隐藏域

 

 

 

第四步:创建RoleAction,提供add方法

 

Service代码:

 

第五步:配置struts.xml

 

3. 用户管理

3.1 添加用户功能

 

第一步:发送ajax请求,获取所有的角色数据,返回json,构造checkbox

 

 

第二步RoleAction中提供listajax方法

 

第三步:完善ajax方法的回调函数

 

 

第四步:为保存按钮绑定事件提交表单

 

第五步:在UserAction中提供add方法,保存用户

 

Service代码:

 

第六步:配置struts.xml

 

第七步:在User类中提供getFormatBirthday方法,返回的json中含有formateBrithday字段

 

第八步:修改userlist.jsp页面中field字段名称

 

 

 

4. 修改BOSRealm中的授权方法

 

FunctionDao中提供根据用户id查询权限的方法:

 

5. 使用ehcache缓存权限数据

第一步:导入ehcachejar包项目中

第二步:提供ehcachexml配置文件(可以从jar包中获得)

 

第三步:在spring配置文件中注册一个缓存管理器,并注入给安全管理器

 

6. 系统左侧菜单根据登录人的权限展示

第一步:修改index.jsp页面中ajax方法的URL

 

第二步:在FunctionAction中提供findMenu方法

 

第三步:在FunctionService中提供方法

 

第四步:在FunctionDao中扩展方法

 

 

BOS项目 第8天(权限管理添加、角色管理添加、用户管理添加、shiro权限框架使用ecache缓存)