我想用 CakePHP 2.1 构建一个应用程序,用户只需要登录到后端(使用自定义前缀)而不是前端。
我知道可以在每个操作的基础上使用 执行此操作$this->Auth->allow()
,但我想基于前缀执行此操作。
我想用 CakePHP 2.1 构建一个应用程序,用户只需要登录到后端(使用自定义前缀)而不是前端。
我知道可以在每个操作的基础上使用 执行此操作$this->Auth->allow()
,但我想基于前缀执行此操作。
要实现这一点,您可以按照Authentification Tutorial中的“标准”步骤进行操作,只需beforeFilter()
在AppController
.
function beforeFilter() {
if(isset($this->Auth)) {
if(isset($this->params['admin']) && $this->params['admin']) {
$this->Auth->allow('admin_login'); // allow backend login only
} else {
$this->Auth->allow(); // allow everything in frontend
}
}
}
这将允许用户在您的应用程序中执行所有操作,除了带有前缀的所有操作admin
。唯一允许的操作是admin_login
它可能驻留在某种用户控制器上,以使后端用户能够登录。
如果您使用多个前缀,请小心为每个需要身份验证的前缀定义此项。