同じアプリで管理者をビルドします。セキュリティが低下することはありません。Prefix Routingを使用して、管理者ユーザーがアクセスできるコントローラー メソッドを簡単に制御できます。ルート プレフィックスに基づいてビュー レイアウトを変更することもできます。より細かいものが必要な場合、Cake は複雑な権限システムのアクセス制御リストをサポートしています。
最終的に、単一セットのモデルとコントローラーを使用する場合、アプリの保守性が大幅に向上します。
で使用する小さなコード スニペットを次に示しますapp_controller.php
。これは CakePHP 1.2 でビルドされたアプリのものであるため、新しいバージョンに合わせて少し更新する必要がある場合があります。これは、登録済みのユーザーが管理 URL にアクセスできることを前提としていますが、これは簡単に変更できます。
function beforeFilter(){
if (isset($this->params['prefix']) && $this->params['prefix'] == 'admin') {
if (!$this->Session->check('User')) {
// save the url in the session so that you can redirect there after login
$this->Session->write('lastPageVisited', $this->params['url']['url']);
$this->redirect('/users/login/');
exit();
}
// set the admin layout
$this->layout = 'admin';
}
}