在Pimcore中使用Zend_Auth

时间:2011-04-18 12:45:59

标签: zend-auth pimcore

我是Pimcore的新手,我正在尝试将Zend Auth与pimcore对象一起使用。我认为这是一种明智的方法,对我来说似乎或多或少是合乎逻辑的。我已经在pimcore本身完成了对象的初始设置。现在我正在尝试解决如何将它连接到zend auth,也就是说,例如当我扩展zend auth并拥有自己的登录功能时,如何检查登录在我的对象中是否有效?

有人有指导我可以使用吗?否则,如果有人能指出我正确的方向,这将是伟大的

杰森

1 个答案:

答案 0 :(得分:3)

您可以按照本指南操作:http://www.pimcore.org/forum/discussion/419/zend_auth_adapter-for-pimcore-objects,它对我有用。

更新:上面的链接已被删除,请在此处详细说明:

首先,您需要将ObjectAdapter.php放在website / lib / Website / Auth / ObjectAdapter.php中。

然后,这是您登录用户的方式(根据您的喜好使用,例如在您的控制器初始化函数中):

$authAdapter = new Website_Auth_ObjectAdapter('Object_Users', 'o_key', 'password', '/users/'); 
// The parameters are 1. object you keep your users in, 2. the field that contains their username (I use o_key which is the name of the object itself, to keep unique usernames without fuzz), and 3. the password field in the user object.

// Setup auth adapter
$authAdapter->setIdentity($username)->setCredential($password); 

$auth = Zend_Auth::getInstance(); 

// Authenticate 
$result = $auth->authenticate($authAdapter); 
if ($result->isValid()) {
    // Login successful
} else {
    // Login failed
}

要检查登录会话,请使用:

$this->auth = Zend_Auth::getInstance();
if ($this->auth->hasIdentity()) { 
    // We have a login session (user is logged in)
    $userObject = $this->auth->getIdentity();
}   

杀死一个会话:

Zend_Auth::getInstance()->clearIdentity();