私は Cakephp でツーリズム システムを実行しています。2 種類のエンドユーザーがいます。1 人は管理者で、もう 1 人は登録ユーザーです。そのため、これらのユーザーには 2 つの異なるビューが必要であり、登録ユーザーは、管理モジュール、
この 2 人のユーザーを分離する方法がわかりません。
私は Cakephp でツーリズム システムを実行しています。2 種類のエンドユーザーがいます。1 人は管理者で、もう 1 人は登録ユーザーです。そのため、これらのユーザーには 2 つの異なるビューが必要であり、登録ユーザーは、管理モジュール、
この 2 人のユーザーを分離する方法がわかりません。
その音によると、あなたが探しているのは、必要なものすべてを提供するプレフィックス ルーティングです。
管理者は、URL の前に次のプレフィックスを付けることができます (問題のユーザーに該当する場合)。
http://example.com/admin/posts
(Postsコントローラーで)にルーティングされます:
public function admin_index(){
...
}
ビューをレンダリングしapp/View/Posts/admin_index.ctp
ます。
ドキュメントはこの分野で非常に完全であるため、これ以上説明するつもりはありません。2 つ以上のレベルの特権 (ユーザー、スーパーユーザー、管理者など) を導入する場合、プレフィックス ルーティングはあまり適していないことに注意してください。代わりに、フレームワークでもカバーされているAccess Control Listsを確認する必要があります。
みなさん、こんにちは、このスレッドを解決する別の方法があります。それは、各コントローラーを構成することです。アクセスを許可したくないコントローラーに次のコードを入れるだけです
public function beforeFilter(){
if($this->Auth->user('role')=='regular')
{
$this->Session->setFlash('You cannot access');<br>
$this->redirect(array('controller'=>'users','action' => 'index'));<br>
}
}
したがって、誰かが通常のユーザーとしてログインすると、ユーザーコントローラーまたは指定したい他のコントローラーにリダイレクトされます