我正在使用cakephp 2.6。
我已经按照cakephp的教程中的教程进行了操作,发现有两种方法可以在appcontroller中配置Auth组件。
第一个是:
public $components = array(
'Acl',
'Auth' => array('authorize' => array('Actions' => array('actionPath' => 'controllers'))),
'Session'
);
另一个是:
public $components = array(
'Acl',
'Auth' => array('authorize' => 'Controller'),
'Session'
);
所以我的问题是:它们之间有什么区别以及为什么我们应该使用授权参数?
答案 0 :(得分:0)
试试这个
public $components = array(
'Cookie',
'Email',
'RequestHandler',
'Session' ,
'Auth'=>array(
'loginAction' => '/login',
'loginRedirect'=> '/login', //~ where to redirect if user not login
'logoutRedirect'=> '/logout',
'authError'=>"You can't access this page",
'authenticate' => array('Form',array('fields' => array('username' => 'email'),'userModel' => 'User')), //~ user email as username if login with email else use username in case of log
'authorize'=>array('Controller')
) ,
'RequestHandler',
'Upload'
);
将此功能放入app controller
public function isAuthorized($user) {
if($user)
return true;
else
return false;
}
您可以使用登录功能
中的以下代码登录$this->Auth->login();