学校のクラスの1つはCakePHPクラスで、誰も答えられなかったという質問が1つあります。これは、ユーザーが特定のもの(管理ページなど)にアクセスできないようにする方法です。私がやったやり方は、特定のindex.ctpページのビューのPHP文を使用して、ロールが= 1の場合、このHTML以外にこの他のHTMLを表示するということでした。しかし、それは本当にすぐにはありません。Cakephp admin routingブッキング正規ユーザー
私はadminルーティングプレフィックスをセットアップし、ルーティングを考慮してMVCファイルを再ベイクドしましたが、「1」の役割でユーザーをブロックする方法はわかりません - デフォルトを意味する - adminプレフィックスページにアクセスすることから。たぶん私は何かを完全に失っている...任意の洞察やチュートリアルは、巨大な助けになるだろう。
のAppコントローラ
class AppController extends Controller {
public $components = array('DebugKit.Toolbar', 'Session', 'Auth');
public function isAuthorized($user) {
if (empty($this->request->params['prefix'])) {
return true;
}
if($this->request->params['prefix'] == 'admin') {
return ($user['role'] == '2');
}
return false;
}
public function beforeFilter() {
$this - > set('logged_in', $this - > Auth - > loggedIn());
$this - > set('current_user', $this - > Auth - > user());
}
}
プロジェクトは https://github.com/DavidWGreeley/termmvc/tree/Testing
あなたのコードに何が問題なのですか? – arilia
通常のユーザーとしてログインするときは、/ admin/dvdsと入力するだけでadmin DVDsのインデックスビューにアクセスできます。通常のユーザーはできないはずです。それが私が止めようとしている部分です – DavidGreeley