论坛首页 Java企业应用论坛

关于权限模块设计的一点思考

浏览 34236 次
精华帖 (1) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (3)
作者 正文
   发表时间:2008-10-28  
现在在进行系统的权限模块的开发,
已经建立了 user - role - permission 的关联规则,可以实现到url的控制;
问题产生,这样就要依赖url,而且可能会出现同一个url处理类中会包含处理多个业务的方法,这样就不能实现严格控制了,而且可能产生混乱,这是问题一;
问题二,如果我想权限控制粒度再细一点,比如能够控制到每个页面的每个按钮(操作),这样又该符合设计呢?

权限的控制问题应该在大部分的web程序中都会使用到的吧,
还请诸位不吝指点几句
   发表时间:2008-10-28  
url怎么就控制不了呢?DispatchACtion或multiController怎么不成呢?
0 请登录后投票
   发表时间:2008-10-28  
问题2可以参考这里:
http://blog.csdn.net/snow_fox_yaya/archive/2007/07/29/1715869.aspx
基于webwork和过滤器实现无代码侵入的原子级界面权限
0 请登录后投票
   发表时间:2008-10-28  
看看spring security, 它都给你解决了。
虽然有点繁琐。
0 请登录后投票
   发表时间:2008-10-28  
将权限细分到对操作(method),资源上的控制,用单独的interceptor来处理。
1 请登录后投票
   发表时间:2008-10-29  
如果没有使用第三方的MVC框架,则可以让每一个Action方法实现一个action或者validable的接口,实现接口中一个isPermission()的方法,然后再其中实现你的权限验证.如果controller不是简单的pojo,那只能考虑采用AOP将验证方法插到action方法代码之前进行验证了.
我们现在的做法是采用scope+type字段来判断一种Permission,其中scope代表URL,type可能为url也可能为action.这样同时也定义了权限的划分,方便权限分配时候的操作.其实更好的方法是将所有的permission都作为Action处理,这个等有时间在慢慢细说
1 请登录后投票
   发表时间:2008-10-29  
shiren1118 写道
url怎么就控制不了呢?DispatchACtion或multiController怎么不成呢?

能具体说一下是怎样实现的么
1 请登录后投票
   发表时间:2008-10-29  
ronghao 写道
问题2可以参考这里:
http://blog.csdn.net/snow_fox_yaya/archive/2007/07/29/1715869.aspx
基于webwork和过滤器实现无代码侵入的原子级界面权限

多谢,看了这个,
明白了一些东东。。。
0 请登录后投票
   发表时间:2008-10-29  
jander 写道
看看spring security, 它都给你解决了。
虽然有点繁琐。

不是有点繁琐,是非常繁琐,感觉太庞大了;
其实在解决方法上,我在进行spring security / jsecurity 之间的抉择,
前者过于庞大繁琐,后者刚刚加入apache,好多东西都没完善呢,当前文档、demo相当缺乏;
0 请登录后投票
   发表时间:2008-10-29  
Fly_m 写道
将权限细分到对操作(method),资源上的控制,用单独的interceptor来处理。

多谢,可否说得细一点呢
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics