我是Pimcore的新手,我正在尝试将Zend Auth与pimcore对象一起使用。我认为这是一种明智的方法,对我来说似乎或多或少是合乎逻辑的。我已经在pimcore本身完成了对象的初始设置。现在我正在尝试解决如何将它连接到zend auth,也就是说,例如当我扩展zend auth并拥有自己的登录功能时,如何检查登录在我的对象中是否有效?
有人有指导我可以使用吗?否则,如果有人能指出我正确的方向,这将是伟大的
杰森
答案 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();