[英]How to change ldap password using zend
我在Ubuntu上使用zend框架PHP,Ldap。 我正在使用zend庫從ldap認證用戶。 現在,我想使用zend更改用戶的ldap密碼。 任何想法?
這是我用來獲取zend身份驗證適配器的方法。 它工作正常,並且使用此適配器對用戶進行了身份驗證。
public function getAuthAdapter(array $params)
{
$front = Zend_Controller_Front::getInstance();
$options = $front->getParam('bootstrap')->getOption('ldap');
$params['username'] = split( "@" , $params['username'] );
$username = 'cn=' . $params['username'][0] . ',' . $options['server1']['baseDn'];
$adapter = new Zend_Auth_Adapter_Ldap( $options, $username, $params['password']);
$adapter->setIdentity( $params['username'] );
$adapter->setCredential( $params['password'] );
return $adapter;
}
現在如何更改ldap密碼? 謝謝
$ldap=new Zend_Ldap($options);
$ldap->bind();
$entry=$ldap->getEntry($user->dn);
$entry['userpassword'][0]=$newpassword;
$ldap->save($user->dn, $entry);
這就是我的工作方式! 請注意,在發送之前,我沒有加密密碼,但是服務器以正確的密碼存儲了密碼。
使用Zend_Auth_Adapter_Ldap通過活動目錄來驗證登錄名等。
出於ldap的管理目的,請使用Zend_Ldap。
閱讀Zend_Ldap API上的Zend文檔,特別是以下內容
Zend_Ldap save(string | Zend_Ldap_Dn $ dn,數組$ entry)
將$ dn標識的條目及其屬性$ entry保存到LDAP樹中。 如果無法保存該條目,則拋出Zend_Ldap_Exception。 此方法通過查詢LDAP樹來確定是否添加或更新條目。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.