介绍:
毕业设计要做一个权限管理系统,自己查了些资料,看了些不同的前台框架,菜单的同异步加载,数据库设计也大不相同。荡了两个相关的项目,一直在读代码。不知道怎么下手,现在基本明白代码流程,自己前后台略懂,这个模块又不大,说的不详细的可以搜一下,很容易搜得到的
先在网上查了一种rbac权限,做了个简单的,大致就是这样的用户(user),角色(role),资源(module),
(1)user即用户表,关联org组织表,不用管,系统将角色赋予用户,用户只有一个角色,建议建一个中间表user_role,用户跟角色形成多对多关系,用户可以有多个角色
(2)role即角色表,角色与资源挂钩,增删查改权限放到资源表上,操作比较频繁,可以分离出来role_module中间表,实现增删查改权限
(3)role_module表里面的code是(增删查改)(1,2,4,8)自己定义规则,可以简单的自己或者应用BigInteger权限判断
示例:如果code为6,code.testBit(1)和code.testBit(2)为true拿到增删,相当于2的一次幂加上2的二次幂
(4)资源(module)相当于菜单,建立菜单的话如下图:
树形菜单的话前台有很多插件,jquerytree,easyui,extjs等等,有无限循环菜单,异步加载的等等前台框架有的必须命名相同(用的很不爽),只要规范对了,又觉得很容易,根据不同的规范,对应不同的实体,
还有一种就是自己弄的菜单,如果最多只是三、四级菜单可以自己往里面迭代(很麻烦,但是自己很清楚流程),这个以后我会总结写出来的
虽然有很多种实现方法,如果自己写一遍,了解规则,就知道其实都一样的,id,pid一对一,菜单父子关系,text菜单名称,
leaf:设置为true表明本节点没有子节点。 不会为本节点渲染展开图标或箭头,iconCls为图标,url为超链接,有子菜单的话,父菜单设置为#就可以了,自己可以选择一种试试