我正在为公共网络应用寻找安全的用户登录/会话管理组件。Spring Security 似乎有潜力,还有其他高质量的替代方案吗?
从概念上讲,这很容易,我们目前的代码运行良好,但我宁愿使用经过公开审查的安全漏洞代码。
需求:
- 登录
- 登出
- 安全会话令牌管理(令牌不可猜测)
- 会话到期
- Java/Tomcat 支持
Apache Shiro以前称为 Ki 和JSecurity,“是一个功能强大且灵活的开源安全框架,可以干净地处理身份验证、授权、企业会话管理和密码学。” 它已经存在了一段时间(2006 年 4 月 18 日首次公开发布),目前处于 Apache 孵化器中。只是想我会提到它作为 Spring Security 的替代品(尽管我自己更喜欢 Spring Security)。
如果 Tomcat 不是硬性要求,您可以考虑将应用程序部署在 Sun 的 Glassfish 服务器上。Glassfish 是 Java EE 技术的参考实现,其中包括对安全性的支持。Glassfish 享有良好的声誉,并且在易于管理方面得分很高。
spring security 以前称为 acegi,是另一个开源选项。如果您使用的是弹簧,这是一个不错的选择