0
我想用CakePHP 2.1構建一個應用程序,其中用戶只需要登錄到後端(使用自定義前綴)而不需要前端。如何僅在CakePHP 2.1中對後端使用授權?
我知道有可能以每個動作爲基礎與$this->Auth->allow()
這樣做,但我想根據prefix來做到這一點。
我想用CakePHP 2.1構建一個應用程序,其中用戶只需要登錄到後端(使用自定義前綴)而不需要前端。如何僅在CakePHP 2.1中對後端使用授權?
我知道有可能以每個動作爲基礎與$this->Auth->allow()
這樣做,但我想根據prefix來做到這一點。
要實現這一點,您可以按照Authentification Tutorial中的「標準」步驟操作,只需在AppController
的beforeFilter()
回調中添加一小段。
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
,它可能駐留在某種UsersController上,以便後端用戶可以登錄。
如果您使用多個前綴,那麼需要對每個需要驗證的前綴進行定義。