我已經創建了登錄表單,我可以通過一個表進行身份驗證,我是否甚至需要使用Zend_Auth?我在哪裏可以找到實現Zend_Auth的最佳方式?
在哪裏可以找到實現Zend_Auth的最好方法是什麼?
由於
我已經創建了登錄表單,我可以通過一個表進行身份驗證,我是否甚至需要使用Zend_Auth?我在哪裏可以找到實現Zend_Auth的最佳方式?
在哪裏可以找到實現Zend_Auth的最好方法是什麼?
由於
我使用下面的方法來驗證:
function authenticate ($data)
{
$db = \Zend_Db_Table::getDefaultAdapter();
$authAdapter = new \Zend_Auth_Adapter_DbTable($db);
$authAdapter->setTableName('usuarios2');
$authAdapter->setIdentityColumn('user');
$authAdapter->setCredentialColumn('password');
$authAdapter->setCredentialTreatment('MD5(?) and active = 1');
$authAdapter->setIdentity($data['user']);
$authAdapter->setCredential($data['password']);
$auth = \Zend_Auth::getInstance();
$result = $auth->authenticate($authAdapter);
if ($result->isValid()) {
if ($data['public'] == "1") {
\Zend_Session::rememberMe(1209600);
} else {
\Zend_Session::forgetMe();
}
return TRUE;
} else {
return FALSE;
}
}
$數據是從登錄表單的發佈請求,從控制器我稱這樣的功能: 的authenticate($這 - > _請求 - >的getPost())
在任何行動,如果你想驗證用戶的身份,你只是:
$auth = Zend_Auth::getInstance();
if ($auth->hasIdentity()) {
$identity = $auth->getIdentity(); //this is the user in my case
}
在登錄表單我有一個複選框(名爲公衆)如果檢查認證信息將被保存在cookie otherwhise它會在用戶關閉瀏覽器會話(Zend_Session :: forgetMe())
被刪除這是對auth過程的快速回顧。
這裏有一個來自zendcasts的教程。他們甚至提供了一些統一的東西。
http://www.zendcasts.com/zend-acl-with-authentication-and-reflection/2009/06/
我覺得這是一個非常好的開始。
你的意思是實現了Zend_Auth_Adapter_Interface吧?\ – Corbin
如果你的經驗是像我這樣的事情,你應該找到這樣做的至少123種完全不同的最佳途徑。 – PurplePilot
我的回答很好;) http://stackoverflow.com/questions/2046608/practical-zend-acl-zend-auth-implementation-and-best-practices – SMka