###実現したいこと
別の処理を介して、フロントの既存ログイン処理(ユーザ認証・カートのマージなど)を行いたい
###教えてほしいこと
フロントのログインフォームで、ログインボタン押下後、どこの処理を通ってログイン処理が走るかがわかれば、実現できると考えているので、教えていただきたい
###調査したこと
・ログインフォームで下記のタグがあり、ログインボタンでsubmitすると action="/mypage/login" に遷移する
src\Eccube\Resource\template\default\Mypage\login.twig
1<form name="login_mypage" id="login_mypage" method="post" action="{{ url('mypage_login') }}">
・しかし、遷移先に該当するのは、下記のログインフォーム表示メソッドであり、なぜログイン処理につながるか不明
src\Eccube\Controller\Mypage\MypageController.php
1 /** 2 * ログイン画面. 3 * 4 * @Route("/mypage/login", name="mypage_login") 5 * @Template("Mypage/login.twig") 6 */ 7 public function login(Request $request, AuthenticationUtils $utils) 8 {
・カート情報を結合するメソッドmergeFromPersistedCart を呼んでいることから、ログイン処理にonInteractiveLoginが使われているのだろうと推測
src\Eccube\EventListener\SecurityListener.php
1public static function getSubscribedEvents() 2 { 3 return [ 4 SecurityEvents::INTERACTIVE_LOGIN => 'onInteractiveLogin',
・INTERACTIVE_LOGIN を検索すると、Symfony内で定義されているEventのようだが、EventListenerの知識が浅く、ここからどう遡ればログインボタンにたどり着くのか、上手く処理を差し込めるのかがわからず
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。