我正在尝试创建一个 ZF1 插件来集中我的身份验证系统。到目前为止,这是我所做的:
class Application_Plugin_Auth extends Zend_Controller_Plugin_Abstract {
private $_whitelist;
protected $_request;
public function __construct() {
$this->_whitelist = array(
'default'
);
}
public function preDispatch(Zend_Controller_Request_Abstract $request) {
$this->_request = $request;
$module = strtolower($this->_request->getModuleName());
if (in_array($module, $this->_whitelist)) {
return;
}
$auth = Zend_Auth::getInstance();
if (!$auth->hasIdentity()) {
$this->_request->setModuleName('admin');
$this->_request->setControllerName('auth');
$this->_request->setActionName('login');
return;
}
}
}
如果没有记录,它可以完美地避免人们访问后端。现在,我想实现一个没有参数login
的函数,它将获取当前请求,检查参数(getPost),然后执行登录工作:
public function login(){
// Here will check the request data and then try to login
}
我的问题是如何在这个函数中获取当前的请求对象?另外,如何在我的控制器中使用这个登录功能?
非常感谢