代码之家  ›  专栏  ›  技术社区  ›  Mike B

需要更改密码时的active directory ldap登录身份验证

  •  0
  • Mike B  · 技术社区  · 11 年前

    让我解释一下我的问题。

    我有一个PHP应用程序,它使用到Active Directory服务器的LDAP连接进行身份验证。如果我这样做是为了让用户在下次登录时需要更改他们的密码,那么在我允许更改密码之前,我将不允许对他们进行身份验证。我可以检测到需要更改密码,但如果我允许用户更改密码,那么我就无法确定该用户是否有效,这意味着只知道密码过期的用户的用户名,系统就可能被黑客入侵。

    这在我看来很愚蠢。。。我缺什么了吗。。

    目前我是

    绑定到服务器

    检查密码是否已过期

    检查身份验证用户的详细信息

    如果用户帐户被设置为在下次登录时更改密码,auth失败,但有密码更改请求,我会返回此信息。

    是否有发送请求的特定顺序,以便在用户发送密码更改之前对其进行身份验证?

    提前谢谢

    1 回复  |  直到 11 年前
        1
  •  1
  •   philipobenito    11 年前

    通过将帐户标记为 Must change password at next login 实际上没有密码来进行身份验证,所以这不会转化为网络。

    更好的选择是比较用户的 pwdLastSet 属性,并在不在AD中的应用程序中强制执行更改。