私はCakePHP 3.5を使用しています。使用したいメソッドの2つが推奨されておらず、代替手段が見つかりません。CakePHPレスポンスの停止を廃止
方法は以下のとおりです。
$this->response->send();
$this->response->stop();
は、私は別のページにリダイレクトし、現在のメソッドの実行を停止します。リダイレクトした後にdie()
に電話してみると、うまくいきません。
migration guideによれば、この方法は廃止されている。
どのような考えですか?
編集:
特定のページにアクセスできないユーザーをリダイレクトしようとしています。これはコントローラのinitialize()
メソッドにあります。
if ($allowedAccess) {
$this->Flash->error("Insufficient rights to access that location");
$this->redirect($this->referer());
// FIXME - find alternative to deprecated methods
return $this->response;
$this->response->send();
$this->response->stop();
}
なぜあなたはCakeに付属の認証システムを使用していませんか?あなたのために自動的にリダイレクトとフラッシュを行います。このページを読んでください:https://book.cakephp.org/3.0/en/controllers/components/authentication.htmlああ、次回は、質問の際に問題のコード全体を追加してください。これは今や別の状況です... – burzum
LDAPを使用しており、ユーザーが適切なグループにいることを確認しているためです。 – Eric
LDAPはケーキの認証システムで動作します。 3.x用に少なくとも2つのプラグインがあり、CakePHP 3.5以降で動作してきた新しい認証レイヤーは、すぐにLDAPをサポートしています:https://github.com/cakephp/authentication/blob/master/docs /Identifiers.md#ldap独自の実装を好む場合は、authシステム用のアダプタとして実装する必要があります。 – burzum