CakePHPでは、$this->Auth->allow('someMethod');
を使用して、ログインせずにページを表示できるようにします。ユーザーがログインしているときに同じページを表示できないようにするにはどうすればよいですか?この例は、ユーザがログインしなくてもアクセス可能なレジスタページですが、ユーザがログインした後はアクセスできません。ユーザーがログインしているときに、一部のページを利用できないようにする方法
$this->Auth->deny('someMethod')
をisAuthorized()
に入れていますが、その方法が許可リストでisAuthorized
は、そのページを実行しようとすると呼び出されません。
入力がありますか?あなた
事は...私の所見は、許可リストにあるページを見るときにisAuthorized()が呼び出されないことを示唆しています。 しかし、とにかく、それがケーキの認証を介して行うことができない可能性があることを確認していただきありがとうございます。 – user152235
'isAuthorized()'は、あなたが拒否または許可されたもので許可されているかどうかを計算します。 'deny()'はすべての人にアクションを拒否するので、動的に使うのが理にかなっています。あなたが望むのは、ユーザーが単純にログインしている場合は、拒否(またはリダイレクト)することです。これを行うには、上記のコードを使用します。 – deceze
'isAuthorized()'の説明を読んでください、それは "ログインしています"とは非常に異なっています:http://api.cakephp.org/class/auth-component#method-AuthComponentisAuthorized – deceze