フロント用の会員プラグインを作成する過程で「ControllerEventListener」から共通のリダイレクトを設定した所
リダイレクトが入ってcsrfエラーになります。
(多分、自分の書き方が悪いのかなと思いますが…)
管理画面は除外してフロントのみリダイレクト設定できる書き方教えていただけると大変助かります。
テーマやプラグイン無効時
CSRF token from either the request body or request headers did not match or is missing.
エラー: アドレス ‘/baser/admin/baser-core/themes/delete/BcThemeSample’ に送信されたリクエストは無効です。
コンテンツ管理
ゴミ箱に移動しようとして失敗しました。
(404) Not Found
{“message”:“Not Found”,“url”:“/baser/api/admin/member/members/login”,“code”:404}
class MemberControllerEventListener extends BcControllerEventListener
{
public $events = ['startup'];
public function startup(Event $event)
{
if(BcUtil::isAdminSystem()) return;
$controller = $event->getSubject();
if($controller->getRequest()->getSession()->read('Auth.Member') !== null){
// セッションが存在する場合のリダイレクト
}else{
if($controller->getName() !== "Members"){
//他のプラグインやテーマ無効時エラーになる
return $controller->redirect([
'plugin' => 'Member',
'controller' => 'Members',
'action' => 'login',
]);
}
}
}
}
【環境情報】
・baserCMSのバージョン:5
・レンタルサーバー名:エックスサーバー
・phpバージョン:PHP8.1.12