我正在使用adldap庫來針對Active Directory對用戶進行身份驗證。下面是一段代碼,我用它來驗證Zend LDAP身份驗證 - 如何設置身份和getIdentity
$username = $_POST['username'];
$password = $_POST['password'];
require_once '/adlap/adLDAP.php';
try {
$adldap = new adLDAP();
}
catch (adLDAPException $e) {
echo $e;
exit();
}
$authUser = $adldap->user()->authenticate($username, $password);
應該如何我setIdentity用戶?
在登錄系統,我們存儲的用戶名和密碼,我們可以setIdentity如下面提到
$adapter = $this->_getAuthAdapter();
$adapter->setIdentity($values['username']);
$adapter->setCredential($values['password']);
protected function _getAuthAdapter() {
$dbAdapter = Zend_Db_Table::getDefaultAdapter();
$authAdapter = new Zend_Auth_Adapter_DbTable($dbAdapter);
$authAdapter->setTableName('users')
->setIdentityColumn('username')
->setCredentialColumn('password')
->setCredentialTreatment('SHA1(CONCAT(?,salt))');
return $authAdapter;
}
我不是在數據庫存儲密碼,直接檢查它針對Active Directory。所以我無法使用上述解決方案。 怎能我setIdentity用戶的,這樣我可以檢查用戶是否hasIdentity()這樣的
$auth = Zend_Auth::getInstance();
if ($auth->hasIdentity()){
}
我提到了以下問題#1 Get display name for Zend LDAP Authentication。 但是我不確定我們應該如何「獲得('LDAP_host')」Zend Registry,我們應該如何設置它。下面是我與 'host'=> Zend_Registry :: get('LDAP_host'),
可以幫我嗎?
非常感謝:)請試一試,讓你知道它是如何工作的 – Thanu 2014-10-06 11:31:53