【问题标题】:How authenticate a user in active directory that have to change his password?如何验证活动目录中必须更改密码的用户?
【发布时间】:2015-12-15 09:35:57
【问题描述】:

我正在尝试登录 Active Directory 中的帐户,但必须更改此密码 (pwdlastset = '0')。我发现的问题是,启用实体的此属性后,ldap 方法无法使用旧密码进行身份验证。我正在与 ruby​​ 客户端进行连接,我需要在将替换指令发送到 de unicodePwd 之前对用户进行身份验证以避免安全问题。启用 pwdlastset 后如何查看旧密码?

一点伪代码:

ldap_con.new(ldap_params)
auth = ldap_con.auth(login, old_pass) # Fail when pwdlastset eql 0
ldap_con.modify(:dn => dn, :operations => [:replace, "unicodePwd", new_pass]) if auth

如果我更改通行证而不进行身份验证,则有人可以更改没有旧凭据的帐户通行证。

谢谢!

【问题讨论】:

    标签: ruby-on-rails active-directory ldap


    【解决方案1】:

    您可以设置pwdLastSet to "-1",然后为用户设置密码。 我记得,这些需要在两个 LDAP 操作中完成。

    -吉姆

    【讨论】:

    • 没有Admin用户时需要进行两次操作。如果是自己的用户要更改此密码,则需要“删除”和“添加”操作。关于问题,只有管理员用户可以编辑用户,因为自己的用户无法使用 pwdlastset 参数进行编辑。还有其他解决方案吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-11
    • 2014-09-10
    • 1970-01-01
    相关资源
    最近更新 更多