当前位置: 首页 > 知识库问答 >
问题:

Active Directory身份验证程序(&user)必须更改密码

邢起运
2023-03-14

我正在尝试使用WLS 12.1.2(JAAS容器安全)中的AD身份验证器来处理这样的场景:用户被设置为“下一次登录时必须更改密码”,我知道这是在AD属性pwdlastset中设置的。如果我将特定用户的值设置为0,然后尝试登录到我的应用程序,我会在javax.servlet.http.HttpServletRequest.login(username,password)方法上得到一个ServletException,并带有一个绑定的泛型FailedLoginException,但我没有得到任何有关原因的信息。我真正需要的是来自AD的773错误代码或其他东西,以向我的应用程序代码表明这就是request.login方法抛出异常的原因。我们需要将其转换为javax.naming.authenticationException,如果我们使用新的InitialContext手动进行LDAP绑定,就会得到这个结果。不得不手动绑定以迎合类似这样的备用场景,而容器安全性处理一般的成功场景,这似乎有点奇怪。有什么想法吗?

共有1个答案

牛智志
2023-03-14

解决方案是编写我们自己的身份验证提供程序&登录模块,这样我们自己就可以用用户的凭据绑定到广告,这反过来又允许我们访问确切的NamingException。该异常包含绑定失败的唯一代码(在本例中为773),然后我们能够将其转换为适当的LoginException子类(在本例中为CredentialExpiredException)。然后在我们的web应用程序中,request.login方法接收ServletException,原因是我们的CredentialExpiredException,我们可以相应地重定向到change password页面。

 类似资料:
  • 问题内容: 我的应用程序与Firebase数据库和身份验证链接。 用户创建帐户时,唯一的密码要求是6个字符。无论如何,我可以使密码更复杂,例如使它们具有大写字母和数字。 我可以直接从firebase中执行此操作,还是需要从我的代码中执行此操作? 问题答案: 使用此功能。它包括6-15的范围,即最少6个字符和最多15个字符。分别为一个大写字母和一个数字。 对于有效的密码字符串,此函数将返回true

  • 我运行的是GitLab10.2.2,而双因素身份验证(2FA)根本不起作用。我很快就迁移并升级了GitLab实例。我只是将带有基键的旧复制到它的位置。但即使我没有,我也应该能激活2FA。 当我尝试激活2FA时,日志显示:

  • 本文向大家介绍asp.net mvc中Forms身份验证身份验证流程,包括了asp.net mvc中Forms身份验证身份验证流程的使用技巧和注意事项,需要的朋友参考一下 验证流程 一、用户登录 1、验证表单:ModelState.IsValid 2、验证用户名和密码:通过查询数据库验证 3、如果用户名和密码正确,则在客户端保存Cookie以保存用户登录状态:SetAuthCookie     1

  • 我正在尝试在WooCommerce Webhook API和我的节点之间创建一个集成。js后端。然而,我真的不知道应该如何使用这个秘密来验证请求。 机密:一个可选的密钥,用于生成请求正文的HMAC-SHA256哈希,以便接收方可以验证webhook的真实性。 返回以下值: :pU9kXddJPY9MG9i2ZFLNTu3TXZA 85pnwfPqmr0dg0= 签名:PjKImjr9Hk9MmId

  • 有人在springboot应用程序中找到了这样的工作示例吗? /auth控制器,用户在其中提供ActiveDirectory凭据(通过基本身份验证或POST json)并在提供有效AD凭据的情况下接收JWT令牌。不应涉及LDIF文件,Springboot应用程序将根据ldaps://ActiveDirectoryhost: 636endpoint验证凭据 /myapi控制器仅在步骤1(上图)中的有

  • 在我的Laravel应用程序中,我有不同的管理员和用户身份验证。所以我也有单独的观点。我已经把auth文件夹放在文件夹中,这样我的admin auth的视图路径现在是。在哪里可以更改这些路径,以便可以将它们用于所有身份验证函数?