Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在java web应用程序中自定义登录过程_Java_Authentication_Jakarta Ee_Login_Jaas - Fatal编程技术网

在java web应用程序中自定义登录过程

在java web应用程序中自定义登录过程,java,authentication,jakarta-ee,login,jaas,Java,Authentication,Jakarta Ee,Login,Jaas,我正在编写一个java应用程序,它需要执行一个不寻常的登录过程。我的问题之一是,用户需要提供的不仅仅是简单的用户名/密码组合。具体来说,需要用户名/密码/域组合 另一个问题是,我的应用程序强制执行一些密码生存期规则(例如:密码在90天后变为无效)。当密码过期时,我使用的身份验证服务器将拒绝身份验证,并强制用户选择新密码。因此,我的登录过程必须能够处理这个问题 不幸的是,标准的j_security_check servlet不允许我这样做。有没有办法为JavaWeb应用程序创建一个自定义的安全登录

我正在编写一个java应用程序,它需要执行一个不寻常的登录过程。我的问题之一是,用户需要提供的不仅仅是简单的用户名/密码组合。具体来说,需要用户名/密码/域组合

另一个问题是,我的应用程序强制执行一些密码生存期规则(例如:密码在90天后变为无效)。当密码过期时,我使用的身份验证服务器将拒绝身份验证,并强制用户选择新密码。因此,我的登录过程必须能够处理这个问题

不幸的是,标准的j_security_check servlet不允许我这样做。有没有办法为JavaWeb应用程序创建一个自定义的安全登录过程


注意:提供域的问题可以通过让用户在j_username字段中输入username\domain而不仅仅是username来解决,然后让自定义域对其进行解码。然而,这有点笨拙,无论如何也不能解决第二个问题。

你在考虑吗?有一些关于密码过期的建议。

你在考虑吗?下面是一些关于密码过期的建议。

JAAS安全界面允许您创建自定义登录模块。这个大厅模块将允许您进行任何您喜欢的安全检查。我建议你看看JAAS的信息。 0

以下是我用来帮助理解JAAS的一些链接:

还可以查看Apache tomcat realms配置指南:


JAAS安全界面允许您创建自定义登录模块。这个大厅模块将允许您进行任何您喜欢的安全检查。我建议你看看JAAS的信息。 0

以下是我用来帮助理解JAAS的一些链接:

还可以查看Apache tomcat realms配置指南:


如果您能详细介绍一下Spring security的哪些特定功能可以满足我的需要,我将不胜感激。我对spring没有任何经验,我真的不知道从哪里开始。一些建议出现在我给你的链接中。然而,如果您对SpringSecurity没有任何经验,那么您需要阅读一些关于它的文章。不要被吓倒,你不需要学习完整的框架。为了实现您想要的,您只需要覆盖一些类。如果您能提供更多关于Spring security的哪些特定功能可以满足我的需要的详细信息,我将不胜感激。我对spring没有任何经验,我真的不知道从哪里开始。一些建议出现在我给你的链接中。然而,如果您对SpringSecurity没有任何经验,那么您需要阅读一些关于它的文章。不要被吓倒,你不需要学习完整的框架。为了实现您想要的,您只需要重写一些类。我已经签出了登录模块,并为glassfish编写了自己的模块。但它们都只支持用户名和密码回调。我环顾四周,但没有一个应用程序服务器能够正确处理这一问题。LoginModule也无法(据我所知)处理密码过期约束。我环顾四周,似乎可以在容器管理的、web.xml指定的元素之外使用JAAS。因此,答案似乎是在容器管理的安全性之外使用JAAS。我只能说,我的spring/JAAS应用程序确实支持密码过期。我有一个记录密码指标的数据库,jaass模块会在登录尝试时检查这些指标。您的jaas模块应该能够处理来自应用服务器的返回代码。我已经签出了登录模块,并为glassfish编写了自己的模块。但它们都只支持用户名和密码回调。我环顾四周,但没有一个应用程序服务器能够正确处理这一问题。LoginModule也无法(据我所知)处理密码过期约束。我环顾四周,似乎可以在容器管理的、web.xml指定的元素之外使用JAAS。因此,答案似乎是在容器管理的安全性之外使用JAAS。我只能说,我的spring/JAAS应用程序确实支持密码过期。我有一个记录密码指标的数据库,jaass模块会在登录尝试时检查这些指标。您的jaas模块应该能够处理来自应用服务器的返回代码