我嘗試用gem「devise_ldap_authenticatable」重置用戶密碼,但沒有起作用。如何在不使用old_password的情況下重置ldap用戶密碼?使用Net :: Ldap gem或devise_ldap_authenticatable gem
我試圖運行的命令是。
Devise::LdapAdapter.update_password(login, new_password)
但它沒有工作。
不幸的是,當它試圖綁定它時,會嘗試將該用戶與密碼nil綁定,因爲舊密碼爲零。我也嘗試綁定與管理員用戶憑證,但雖然管理員用戶正在登錄;密碼不會更新。
如何重新設置用戶ldap帳戶密碼而不使用'old_password'作爲具有該特權的管理員用戶?
如果您知道更好的解決方案,請多多分享!
我嘗試這樣做: ldap.modify(:DN =>「的uid = TEST_1,OU =人,DC = SDE, dc = myldapserver,dc = com「,:ops => [:replace,:password,」hello「]) ldap.get_operation_result返回#。所以看起來操作起作用了,但是當我嘗試用新密碼登錄時,它不起作用。似乎該操作沒有被記錄。 –
Richardsondx
2013-05-06 14:02:34
Ldap.modify(:dn =>「uid = test_1,ou = people,dc = sde,dc = myserver,dc = com」,:operations => [:replace,:unicodePwd,Iconv.conv('UTF-16LE ','UTF-8',''''+'hello'+''')]) 您的建議應該有效。我正在使用的用戶沒有正確的權限。 -_-我不得不向基礎設施團隊提出請求.....(corporate -_-).....謝謝! – Richardsondx 2013-05-06 15:59:30
這幾乎爲我工作。我必須做一個額外的步驟:'Iconv.conv('UTF-16LE','UTF-8',(?「+ password +?」))。force_encoding('UTF-8')' – tamouse 2015-02-04 01:15:15