0

我想用 CakePHP 2.1 构建一个应用程序,用户只需要登录到后端(使用自定义前缀)而不是前端。

我知道可以在每个操作的基础上使用 执行此操作$this->Auth->allow(),但我想基于前缀执行此操作。

4

1 回答 1

0

要实现这一点,您可以按照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它可能驻留在某种用户控制器上,以使后端用户能够登录。

如果您使用多个前缀,请小心为每个需要身份验证的前缀定义此项。

于 2012-08-26T15:50:37.930 回答