论坛首页 Java企业应用论坛

使用AOP做权限控制

浏览 14769 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (1) :: 隐藏帖 (8)
作者 正文
   发表时间:2011-06-06  

见附件!

   发表时间:2011-06-06  
最近也在考虑权限过滤问题,你的方法是在action中对server进行判断,而实际使用的情况大多是需要直接对action方法就进行拦截过滤,感觉如果是做数据权限不是很好,我的做法针对需要对数据进行过滤的action方法统一规划方法名称,比如需要针对不同角色访问不同机构的数据采用以ORG作为action方法的前缀,aop针对所有的org的方法进行拦截过滤,针对功能在拦截的时候做特殊过滤,毕竟进入页面后用户更希望是直接知道有哪些操作功能,而不是提示用户您没有该功能的操作权限。
0 请登录后投票
   发表时间:2011-06-07  
huiseyiyu 写道
最近也在考虑权限过滤问题,你的方法是在action中对server进行判断,而实际使用的情况大多是需要直接对action方法就进行拦截过滤,感觉如果是做数据权限不是很好,我的做法针对需要对数据进行过滤的action方法统一规划方法名称,比如需要针对不同角色访问不同机构的数据采用以ORG作为action方法的前缀,aop针对所有的org的方法进行拦截过滤,针对功能在拦截的时候做特殊过滤,毕竟进入页面后用户更希望是直接知道有哪些操作功能,而不是提示用户您没有该功能的操作权限。

说的没错,大多数情况是对action方法就进行拦截过滤。所以我也在思考如何对Action进行拦截,目前的思路是使用拦截器。有完整思路后,我再拿出来交流下。
0 请登录后投票
   发表时间:2011-06-07  
fantasy 写道
huiseyiyu 写道
最近也在考虑权限过滤问题,你的方法是在action中对server进行判断,而实际使用的情况大多是需要直接对action方法就进行拦截过滤,感觉如果是做数据权限不是很好,我的做法针对需要对数据进行过滤的action方法统一规划方法名称,比如需要针对不同角色访问不同机构的数据采用以ORG作为action方法的前缀,aop针对所有的org的方法进行拦截过滤,针对功能在拦截的时候做特殊过滤,毕竟进入页面后用户更希望是直接知道有哪些操作功能,而不是提示用户您没有该功能的操作权限。

说的没错,大多数情况是对action方法就进行拦截过滤。所以我也在思考如何对Action进行拦截,目前的思路是使用拦截器。有完整思路后,我再拿出来交流下。

对action进行拦截,我一直使用过滤器。拦截器我还没试过
0 请登录后投票
   发表时间:2011-06-07  
我一直是用的拦截器和自定义标签来处理用户按钮权限和URL权限,拦截器和过滤器不都一样嘛
0 请登录后投票
   发表时间:2011-06-07  
把功能权限和数据权限分开来考虑应该会好一点
0 请登录后投票
   发表时间:2011-06-07  
小飞?    
0 请登录后投票
   发表时间:2011-06-07  
顺便请教下拦截器和过滤器有什么区别?

我认为他们的的区别:拦截器可以继承其他拦截器,但是过滤器不行。

大家的想法呢?
0 请登录后投票
   发表时间:2011-06-07  
拦截器只对action有效
0 请登录后投票
   发表时间:2011-06-07  
我现在的做法是把功能权限和数据权限分两个拦截器处理,菜单权限是一次加载的,通过点击菜单进入功能权限判断该菜单有哪些功能,由于是ext做的界面,所以就不方便用标签了,进入数据权限过滤,判断该用户的角色该菜单下可发以看到哪些数据,多少数据,最后执行action的方法,感觉不爽的是操作几乎都需要进行数据库的交互,而且对应的server方法的hql语句需要开发人员做特殊的处理,目前为了使其通用性,采用的动态hql语句的方式,不知道有没有什么好的方法,小弟借鉴下
0 请登录后投票
论坛首页 Java企业应用版

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