论坛首页 Java企业应用论坛

探讨一下权限控制用Spring AOP还是Struts 2的拦截器

浏览 12065 次
精华帖 (0) :: 良好帖 (1) :: 新手帖 (4) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-04-14   最后修改:2011-04-14
如题,或者两个结合起来用?
我个人比较倾向于用Spring 的AOP。把Struts 2当做一个纯粹的Controller来用。
毕竟权限控制是在MVC中的M里的。
不知道大家在这方面有什么见解?
探讨一下不同方案的优劣吧
   发表时间:2011-04-14  
用 spring security呀
0 请登录后投票
   发表时间:2011-04-14  
在业务逻辑层吧,可以达到更细的粒度
0 请登录后投票
   发表时间:2011-04-14  
我们在尝试用apache shiro,比spring security易用。
0 请登录后投票
   发表时间:2011-04-14  
Spring security + struts menu
0 请登录后投票
   发表时间:2011-04-15  
这要看项目的大小了,非大型项目就没必要搞得那么复杂。
0 请登录后投票
   发表时间:2011-04-15  
果断spring security
0 请登录后投票
   发表时间:2011-04-15  
小点的项目感觉AOP就能满足了。
spring security有点麻烦。
都用过。
0 请登录后投票
   发表时间:2011-04-15  
如果项目不大,对权限要求不是很复杂,还是使用Struts2的拦截器来实现权限的验证吧。原因有以下 点:
1、如果按照常理来说,Spring的AOP功能更适合做权限控制,但目前在AOP的实现上是使用代理方式实现的,这个实现方式对于方法的拦截没问题,可以实现。但当在一个POJO中有嵌套调用的方法的时候,AOP就不灵光了,此时权限只能作用于第一个方法上,第二个方法不会加上拦截--虽然这种场景不太多,不过和肯定有--这种情况还是有解决办法的,就是在当前的POJO中注入一个对代理对象的引用变量,用这个引用变量来调用嵌套的那个第二个方法。
解决方案是有了,不过总觉得有些别扭,因为在写代码的时候得时刻关注是否有嵌套的方法调用,一疏忽就会出现妖蛾子。
2、就权限控制来说,拦截的是Action(偏前端),做为Action的缔造者Struts2更有资格和相关资源来做这件事情。
如果项目比较大,还是使用spring security吧。
0 请登录后投票
   发表时间:2011-04-15   最后修改:2011-04-15
目前我们用的是spring security.
很惭愧lz说的两种方式,都没有写过。
个人感觉用struts2的拦截器机制更好,因为用户访问的是action,更容易理解。
0 请登录后投票
论坛首页 Java企业应用版

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