0

我们正在构建一个部署到 tomcat 和 postgres 的 GWT+hibernate+spring Web 应用程序。查看http://code.google.com/p/google-web-toolkit-incubator/wiki/LoginSecurityFAQhttp://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 ) 可能是更好的方法,但我没有多少时间来完成这项工作,所以暂时跳过。

只是想知道是否有更好的方法来做到这一点?是否有现有的代码可以做到这一点,所以我的实现没有很多漏洞?

4

1 回答 1

0

只是想知道是否有更好的方法来做到这一点?是否有现有的代码可以做到这一点,所以我的实现没有很多漏洞?

这可能不是预期的答案,但是 Spring Security 呢?Spring Security 需要一些努力,但是

  • 它只是工作
  • 它被广泛使用
  • 它很可能比定制开发更安全

而且我不相信定制开发会比集成 Spring Security 花费更少的时间。

万一你想重新考虑这个选项,这里有一个小教程。值得一读海事组织。

于 2010-09-13T16:12:06.467 回答