如何在没有old_password的情况下重置ldap用户密码?使用Net :: Ldap gem或devise_ldap_authenticatable gem

时间:2013-05-03 21:17:07

标签: ruby-on-rails ruby ruby-on-rails-3 ldap netldap

我尝试使用gem“devise_ldap_authenticatable”重置用户密码,但它无效。

我试图运行的命令是。

 Devise::LdapAdapter.update_password(login, new_password)

但它不起作用。

不幸的是,当它尝试绑定时,尝试用密码nil绑定该用户,因为旧密码为nil。我还尝试使用管理员用户凭据绑定,但管理员用户正在登录;密码未更新。

如果不将'old_password'用作具有该权限的管理员用户,您将如何重置用户ldap帐户密码?

如果您知道更好的解决方案,感谢分享!

1 个答案:

答案 0 :(得分:3)

使用修改类型“replace”,无论密码属性是什么的属性类型以及新密码值,将修改请求传输到服务器。执行修改请求的连接的授权状态必须具有password属性的访问权限或具有密码重置权限。