作者:手机用户2602905817_973 | 来源:互联网 | 2023-08-16 17:45
* 权限模块
1)角色和权限的关系:多对多
2)权限有上下级关系
如上所示是权限,角色与用户的对应关系,
- 一个用户可以承担多中角色。
- 一种角色对应多个权限。
- 一个权限可以被多种角色拥有。
- 一个权限可能拥有多个子权限。
* 权限对应的是某个功能,功能对应的是请求URL
* 设计权限实体
* 开发权限模块步骤
1)设计权限实体并编写hbm映射文件生成表
2)通过一个SQL脚本导入权限数据
3)为角色分配权限
4)使用jQuery的treeview插件展示权限树
* 导入插件所需资源
* 通过ul和li标签展示数据
* 调用插件的treeview方法生成树
5)权限树的选中效果
当选中某个权限时,同时选中其下级权限,当取消某个权限时,同时取消其下级权限
$(this).siblings('ul').find('input').attr('checked',this.checked);
当选中某个权限时,同时选中其直接上级权限
$(this).parents('li').children('input').attr('checked',true);
当取消某个权限时,如果同级权限都没有选中,则取消其上级权限
var size = $(this).parent('li').siblings('li').children('input:checked').size();
if(size == 0){
$(this).parent().parent().siblings('input').attr('checked',false);
}
例子:
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>
<%@ taglib prefix="s" uri="/struts-tags" %>
配置权限
正在为【${name}】配置权限
说明:
1,选中一个权限时:
a,应该选中 他的所有直系上级。
b,应该选中他的所有直系下级。
2,取消选择一个权限时:
a,应该取消选择 他的所有直系下级。
b,如果同级的权限都是未选择状态,就应该取消选中他的直接上级,并递归向上做这个操作。
3,全选/取消全选。
4,默认选中当前岗位已有的权限。