ユーザーテーブルにroleというカラムを作って、adminかuserを入れておく。
以下をAppControllerの方に書く。
class AppController extends Controller {
public $components = array(
'Session',
'Auth' => array(
'loginRedirect' => array('controller' => 'pages', 'action' => 'display', 'home'),
'logoutRedirect' => array('controller' => 'users', 'action' => 'login'),
'authorize' => array('Controller')
)
);
public function isAuthorized($user) {
if (isset($user['role']) && $user['role'] === 'admin') {
return true;
}
return false;
}
}
個別のコントローラに以下を書く。
public function isAuthorized($user) {
if ($this->action === 'index') {
return true;
}
return parent::isAuthorized($user);
}
許されたページ以外のリンクをたたいても移動しない。