我已经创建了登录表单,我可以通过一个表进行身份验证,我是否甚至需要使用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