現在のページがログアウトしたユーザーに許可されているかどうかを確認する、作成しようとしているログアウト関数があります。そうであれば、私はページにとどまります。そうでなければ、ホームページにリダイレクトします。現在のページが許可されているかどうかを確認する方法を知りたいと思っていました。次のコードで承認されているかどうかを確認できます。
public function logout()
{
if($this->isAuthorized($this->Auth->user())) {
$this->Auth->logout();
$redirect = $this->redirect($this->referer());
} else {
$this->Auth->logout();
$redirect = $this->redirect(['controller' => 'pages', 'action' => 'home']);
}
return $redirect;
}
しかし、現在のページが許可されているかどうかを確認できません:
public function logout()
{
if(in_array($this->request->here, $this->Auth->allow())) {
$this->Auth->logout();
$redirect = $this->redirect($this->referer());
} else {
$this->Auth->logout();
$redirect = $this->redirect(['controller' => 'pages', 'action' => 'home']);
}
return $redirect;
}