用于 Web 用户身份验证的 Java 选项

Posted

技术标签:

【中文标题】用于 Web 用户身份验证的 Java 选项【英文标题】:Java options for web user authentication 【发布时间】:2010-11-09 13:42:24 【问题描述】:

我正在为公共网络应用寻找安全的用户登录/会话管理组件。 Spring Security 似乎有潜力,还有其他高质量的替代方案吗?

从概念上讲,这很容易,我们目前的代码运行良好,但我更愿意使用经过公开审查的安全漏洞代码。

需求:

登录 退出 安全会话令牌管理(令牌不可猜测) 会话到期 Java/Tomcat 支持

【问题讨论】:

【参考方案1】:

Apache Shiro,以前称为 Ki 和 JSecurity,“是一个强大而灵活的开源安全框架,可以干净地处理身份验证、授权、企业会话管理和加密。”它已经存在了一段时间(2006 年 4 月 18 日首次公开发布),目前处于 Apache 孵化器中。只是想我会提到它作为 Spring Security 的替代品(尽管我自己更喜欢 Spring Security)。

【讨论】:

您想评论一下什么时候从基于容器的安全性转向像 shiro 或其他替代品这样的替代品是好的?在此处查看更多重点问题:***.com/questions/7782720/…【参考方案2】:

如果 Tomcat 不是硬性要求,您可以考虑在 Sun 的 Glassfish 服务器上部署您的应用程序。 Glassfish 是 Java EE 技术的参考实现,其中包括 support for security。 Glassfish 享有良好的声誉,并且在易于管理方面得分很高。

【讨论】:

使用 GlassFish/Java EE 安全功能与 Apache Shiro 的优缺点是什么?在开发和部署期间?【参考方案3】:

spring security 以前的 acegi,是另一个开源选项。如果您使用的是 spring,这是一个不错的选择

【讨论】:

以上是关于用于 Web 用户身份验证的 Java 选项的主要内容,如果未能解决你的问题,请参考以下文章

java- 哪种方式易于实现且安全,用于 Web 应用程序/Web 服务中的最终用户身份验证

ASP.NET Core Web API 模板中没有个人用户帐户身份验证选项

用于用户身份验证的个人访问令牌和 json Web 令牌有啥区别?

Nodejs Express 用于 Web 应用程序 JWT,带有数据库或会话以验证用户身份

开源认证分类器

如何在 oauth2 身份验证之上实现用户权限