日期:2014-05-20  浏览次数:20745 次

关于想利用Spring AOP 实现对用户验证的问题
Spring AOP 实现对用户权限的简单验证我会的,现在有个问题,我想知道能不能利用Spring AOP 实现对用户URL访问的验证与限定。比如我想实现,每个用户名都有自己可以访问的URL,如A:*/work/a.jsp B:*/work/b.jsp,也就是说本来这两个网页没有权限要求的话都是能访问的,现在却只能访问自己的,我的初步想法是在数据库中有 用户名:能访问的网址 这样的键值对,自己还能通过管理页面CRUD,管理各个用户可以访问的页面的行为。
  当然,我知道如果用Filter是比较容易实现的,我不明白的就是AOP能否像Filter一样可以取得当前请求的URL的信息,不知道是否在与Struts2这样整合的时候有现成的组件可以利用,还是本来对URL的限制就最好不好用Spring AOP实现?
  我在找资料的时候发现Spring有一个组件是Spring Security。不知道这是不是解决我的问题的好办法,但可惜网上资料好少,有没有好心人发点有参考价值的文档给我,谢谢了.
  我的邮箱:chenxionghome@qq.com

 

------解决方案--------------------
可以用aop,struts2的拦截器不是更好?
------解决方案--------------------
拦截器,ajax 都可以实现
------解决方案--------------------
这个好像好自定义额外功能吧
implements MethodInterceptor{
public Object invoke(MethodInvocation mi){

}
}
------解决方案--------------------
我觉得 对 访问地址 进行限制 还是用过滤器比较好。。因为你需要得到 发送请求的地址。。那必须访问servlet api。但是你使用aop的话。spring是访问不到servlet api,struts的拦截器也不是很好。。因为struts本身主控制器只拦截 结尾是action的请求地址。。对于 以.jsp结尾的 是不拦截的。。所以 还是使用过滤器比较好!
------解决方案--------------------
我之前也做过相关的问题,struts2的拦截器来做方便一点,如果用aop的话,拦截action还要用cglib去做代理,所以感觉不是很方便。