簡體   English   中英

如何使用zend更改ldap密碼

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM