java servlet过滤器:检查用户权限的最佳做法是什么?

时间:2012-03-05 09:21:16

标签: jsp authorization servlet-filters

我有一个Filter,它使用ThreadLocal将用户的凭据传播到堆栈中。我想重用相同的过滤器以用于授权目的。

假设webapp(ajax)有大约100个JSP,部分应用程序是使用普通JSP开发的,其余部分使用Spring MVC 3(带有控制器和JSP)。如果请求是针对.JSP或Spring MVC受控资源的,那么我的第一个想法就是

  1. 列出实际需要授权然后
  2. 的JSP(和spring MVC资源)列表
  3. 检查用户的角色是否具有访问该资源(或JSP)的正确权限。
  4. 如果应用程序有100个这样的资源要检查,那么将所有JSP名称放在过滤器中也是没有意义的(这也是维护的噩梦)。如果我要将所有JSP的列表移动到属性文件以及该资源(JSP)所需的所有特权的相应列表,那么我可以遍历JSP并检查用户是否具有所需的特权之一。 / p>

    这个计划有意义吗?人们如何在服务器上实现JSP /资源的授权?

1 个答案:

答案 0 :(得分:1)

我会让Spring Security做所有繁重的工作,而不是使用手工制作的解决方案。查看FAQ