权限:
百度百科:权限是指为了保证职责的有效履行,任职者必须具备的,对某事项进行决策的范围和程度。
对于任何系统来说权限可控制是必不可少的。下面来说说我对权限的理解!
权限涉及到用户,角色,菜单,界面
简单来说:从用户登录,查看角色,根据角色查看此角色的菜单权限,根据菜单来查看界面。不足:这样查的结果就是这个角色只要有某个菜单的权限,那么这个菜单下的界面权限它就都拥有了。这种方式不能将权限控制到每个页面。
对于考试系统来说:
目前有管理员,教师,学生3类角色(当然也可以添加角色,判分时添加了一个判分教师角色,让教师只能看到判分的页面,使得页面简单,而且可以避免老师的误操作!),我们可以给不同的角色分配页面,然后用户登录根据所属角色显示不同界面权限。这样实现使得权限的控制更加灵活!(给角色分配界面)
不足:教师角色登录后不能实现默认显示所在学院!
举例:**学院的教师要使用咱们的系统判分,我们要想实现此用户一登录就在学院的下拉框中默认选中教师的所在学院,按照这种方式设计还不能实现!
思路一:细化角色,将各个二级学院设置成角色。
好处:各个二级学院的显示界面可以完全不同!
弊端:可能各个二级学院的显示界面都一样,但是需要重复设置,麻烦~
思路二:在用户注册时,不光要选择所属角色,还要选择所在学院即可!
好处:只针对3类角色设置界面,但是因为有所在学院所以可以实现登录默认选择学院的功能
弊端:各个二级学院的显示界面会完全一样,因为他们的角色相同。当然如果想各个二级学院需要显示的界面不同,也可以单独添加角色,再绑定页面!
对于考核系统来说:
目前有管理员,考核科,市直单位,提交指标单位4类角色。后三类角色都属于市直单位,但是各自负责的内容不同,权限不同,需要显示的界面不同。市直单位和提交指标单位需要登录即显示本单位的消息。
设计:以上4类角色,而且考核科,市直单位,提交指标单位都属于市直单位,固在注册用户时,需要选择角色和所属单位,选择角色的目的是针对角色设置页面,设置4类即可,选择所属单位的目的是根据所在单位来显示此单位的消息等内容。如果这四类角色仍不能满足我们的需求,那么我们可以针对需求添加角色,再分配界面等!
总结:
附图:
无论任何系统权限的灵活配置大致思路都一样,以上我说的呢也会有很多欠缺的地方。下面是一些优秀的权限设计资料:
http://www.blogjava.net/DreamAngel/archive/2009/06/26/284337.html
http://www.admin5.com/article/20100416/224349.shtml
在一个项目的开发之初,应该多吸取前人的经验教训,多查找些资料可以帮助我们及早发现我们逻辑上的漏洞与不足--站在巨人的肩膀上!