近期做了一个项目,框架是用struts + spring + hibernate,在做权限设计的时候上网查了很多设计方法,但是从控制的粒度来说,能控制到按钮的方法很少。之前看到过一个项目控制权限的方法是把系统中所有需要权限控制的按钮都设计到数据库中,每一个菜单对应一个或多个按钮,分配权限时给用户分配能操作的按钮权限。只是看到过,没有自己实现过,而这次项目的框架是由我自己来设计,所以我按照这个思想如下设计我的系统权限:
1.系统的层次分为模块、主菜单、子菜单、按钮(每个按钮对应一个动作)四级。
2.为每个层次命名一个动作名称,因为我的系统设计是每个子菜单对应一个action,每个action里面对应多个动作, 最后每个按钮对应的动作名称为:模块动作名称_主菜单动作名称_子菜单动作名称_按钮动作名称,例如:system_usermanager_user_add,这样得出的每个动作名称在系统中都是唯一的。
3.用户进入系统时会根据数据库记录的用户权限找出该用户所对应的模块进行权限的初始化。
4.当用户每点击进入一个模块时会把该用户在该模块下的菜单权限进行初始化,然后用户点击进入菜单时再根据数据库中记录的权限对该页面的按钮权限进行初始化,没有权限的按钮将被禁用。
5.考虑到有些用户可能会用url地址对系统进行破坏性的侵入,用户每点击一次模块时,都会把该用户在该模块下所拥有的动作权限都记录到session当中,用户点击按钮进行操作时都会产生一个动作,在BaseAction中会对这个动作跟session中的动作名称进行比对,没有权限将转到无权限的信息提示页。
所有的权限控制思想如上所述,请各位高手提出宝贵的意见,是否有更好的设计方法,期待下个项目再进行改进。
分享到:
相关推荐
OA系统权限设计数据库实现.zip OA系统权限设计数据库实现.zip
• 不同职责的人员,对于系统操作的权限应该是不同的。可以对“组”进行权限分配。 • 对于一个大企业的业务系统来说,如果要求管理员为其下员工逐一分配系统操作权限的话,是件耗时且不够方便的事情。所以,系统中...
基于AOP的大赛信息管理系统权限设计与管理
java web 系统权限设计 源码.rar JAVA权限管理系统2.rar Java酒店管理系统.rar struts+hibernate权限管理系统_oracle.rar struts2权限管理系统.rar 固定资产管理系统项目.rar 权限系统_oops.zip
系统权限设计:以SAAS为例.docx
通用系统权限设计,可以好好看看,绝对是初学者的首选
该文档为通用权限设计方案,其中通过分析用户、组、角色、权限等四个对象之间的关系具体描述权限设计的大致思路。
行业中最常用的权限 角色 设计。包括数据库结构 表结构的设计。
花了一天时间研究一篇网上关于OA系统权限设计的文档,按照文档自己手动创建了数据库,附件包括文档跟数据库,有想要了解的同学可以下载!tb_User:用户信息基本表; tb_Department:部门表; tb_Company:公司表; ...
权限系统源码【含文档】,很具有参考价值,推荐给大家。
OA系统权限管理设计方案 了解OA权限设计模式
本文依据RBAC的基奉思想,利用ASP.NET中的用户控件技术,设计了在WEB应用系统中用户权限控制的一种具体实现方法
系统权限管理设计方案.pdf
进入二十一世纪,信息化发展潮流越来越快,很多企业(包括中小企业)为了节省企业成本,提高生产效率,加快企业发展步伐而进入企业信息化改造,对于整个社会企业的...本文主要就中小企业的应用系统权限设计做一个实现
应用程序系统中,权限的设计,分析,数据库设计
完善的权限设计文档,非常全面,非常好,非常适合大型系统权限设计
很全的系统权限设计文档,希望对设计系统的人有帮助