我们正在构建一个部署到 tomcat 和 postgres 的 GWT+hibernate+spring Web 应用程序。查看http://code.google.com/p/google-web-toolkit-incubator/wiki/LoginSecurityFAQ和http://www.owasp.org/index.php/Hashing_Java#Complete_Java_Sample,我们有一个用户表和一个角色表(从 4-5 个角色开始)。
应用程序的各个层都需要访问当前登录的用户信息(如 loginId、locale 等),所以我正在考虑添加一个 AuthenticationFilter 来验证每个 Http 请求并创建一个 ThreadLocal RequestContext 来保存各种用户属性。
我也在考虑拥有一个 AuthCache,它将存储 sessionIds 和 loginIds 的 ConcurrentHashMap。AuthenticationFilter 将使用 AuthCache 进行身份验证。
我了解 Spring 安全性和 Apache Shiro( http://incubator.apache.org/projects/shiro.html ) 可能是更好的方法,但我没有多少时间来完成这项工作,所以暂时跳过。
只是想知道是否有更好的方法来做到这一点?是否有现有的代码可以做到这一点,所以我的实现没有很多漏洞?