在Java Web应用程序中自定义登录过程
-
23-08-2019 - |
题
我正在编写一个需要执行不寻常登录过程的Java应用程序。我的问题之一是,用户不仅需要提供简单的用户名/密码组合。具体来说,需要用户名/密码/域组合。
另一个问题是我的应用程序执行了一些密码寿命规则(例如:90天后密码无效)。当密码过期并迫使用户选择新密码时,我使用的身份验证服务器将拒绝身份验证。因此,我的登录过程必须能够处理。
不幸的是,标准的J_Security_Check Servlet不允许我执行任何操作。有什么方法可以为Java Web应用程序创建自定义和安全的登录过程。
注意:提供域的问题可以通过让用户输入用户名域而不仅仅是在J_USERNAME字段中的用户名来解决问题,然后让自定义领域解码。但是,这有点笨拙,无论如何都无法解决第二个问题。
解决方案
JAAS安全接口允许您创建一个自定义登录模块。这个大厅模块将使您可以进行任何安全检查。我建议您查看有关JAAS的信息。 0
这是我用来帮助理解JAAS的一些链接:
http://www.owasp.org/index.php/jaas_tomcat_login_module
http://www.javaworld.com/jw-09-2002/jw-0913-jaas.html
还要查看Apache Tomcat Realms配置方法:
不隶属于 StackOverflow