权限管理系统准备
这节我们说下权限系统的特点,本系统采用的是MVC4+EF5+IOC 接口编程的架构,其中的权限树用的是DWTree,功能上做到灵活,授权操控细致,权限可以细到按钮级别
,为了部署简单,导致设计和编码上也是比较复杂
该系统主要功能如下:
自定义操作动作(如增加、删除、修改、审核等,不再是以前见过的那种粗粒度的 按模块分配权限,或者稍微先进点的规定死某几个操作了)。
无限级功能模块管理,自定义模块排序,可以更好地对整个系统中所有模块进行 分类管理。
灵活地为各模块分配操作,即每个模块有哪些操作需要被控制(将步骤1中添加的 操作按需分配给各模块)。
对所有用户基础信息进行管理,实行有效期机制,过期自动失效,在有效期间亦 可强制停止用户使用。
自定义角色,可以起个听起来通俗易懂的名字。
任意角色可任意组合系统权限功能点(比如某个模块里他只能修改数据而不能添加 或删除等其它操作)
一个用户可有多个角色(多身份),一个角色也可以被多个用户拥有(同身份)(多对多),灵活授权。
按角色给用户授权,当授权对象数量庞大的时候就可大显身手了(比如给公司全体 员工授权)。
按用户分配角色,当某个用户以多种身份出现在系统中的时候,希望分配多个角 色。
菜单的显示根据权限来显示,如果一个用户拥有模块的一个以上操作码权限,则菜单被显示,否则不读取
从数据库结构来看,一共设计了七个表(table),表名及功能分别如下:
1.模块管理(SysModule)
系统菜单的管理,支持无限级别树,表我们在之前的文章已经建好了
2.用户表(SysUser)
系统会员,登录系统的唯一凭证
3.角色组(SysRole)
对角色组基本信息进行管理。用户可以自定义成各种各样的角色组,然后对用户授权
4.模块操作码(SysModuleOperate)
操作码表的父表是模块表,一下模块下面有多个操作码,比如增加,删除,审核,修改等.
5.授权表(SysRoleSysUser)
用户和角色组的对应表,一个角色拥有多个用户,一个用户可以拥有多个角色
6.角色权限表(SysRight)
将角色与系统中的权限点关联起来,也就是完成授权的动作。
7.被付权限操作码表(SysRightOperate)
保存有权限的角色的操作码,当有一个操作码被赋予权限时,将激活对应的菜单
我们通过一张物理模型图看出表与表之前的关系
查看本栏目更多精彩内容:http://www.bianceng.cnhttp://www.bianceng.cn/webkf/aspx/