バージョン選択

フォーラム

メニュー

オンライン状況

65 人のユーザが現在オンラインです。 (56 人のユーザが フォーラム を参照しています。)
登録ユーザ: 1
ゲスト: 64
kbsw もっと...

サイト内検索

質問 > フロント機能 > ログアウト時に一部セッションのみ保持したい

フロント機能

新規スレッドを追加する

スレッド表示 | 古いものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
tacky14
投稿日時: 2021/6/25 22:17
対応状況: −−−
半人前
登録日: 2021/4/23
居住地:
投稿: 16
ログアウト時に一部セッションのみ保持したい
-------------------------------------------------
EC-CUBE 4.0.5(新規インストール)
サーバーOS Linux
DBサーバー MySQL 5.7.34
WEBサーバー Apache/2.4.25 (Debian)
PHP 7.3.27

ブラウザ Chrome90

カスタマイズ多数あり

-------------------------------------------------

[要望]
フロントでログアウトする際に、保持するセッションと削除するセッションを振り分けることはできないでしょうか。

app/config/eccube/packages/security.yaml に

logout:
  path: logout
  target: homepage
 invalidate_session: false //<-追加

を追加してログアウト時にもセッションを残せるようにしたのですが
これだとカートやカスタマイズで追加したものなど、ログアウトしたときに削除したいセッションまで残ってしまい、要件に満たない状態です。
これを、指定したセッションのみ残して他は通常通り削除される状態にしたいです。


[検討・試したこと]
1.
invalidate_session:falseにしたうえで、ログアウト完了時に特定のセッションを取捨選択する方法も考えましたが(具体的なやり方までは未検討)
こちらのPRをみると、影響範囲は広そうなので、問題がありそうであれば invalidate_session は極力使わずに対応したいと考えています。

2.
ログアウト処理は、Symfony/Component/Security/Http/Logout/SessionLogoutHandler.php で行っているようなので、これをapp/Customize内で拡張なりできればいいのかなと思い
Customize/Security/Http/Logout/CustomizeLogoutSuccessHandler.php を追加。
services.yaml に

Customize/Security/Http/Logout/CustomizeLogoutSuccessHandler:
  decorates: Symfony/Security/Http/Logout/LogoutSuccessHandler

を追加してみましたが class "Symfony/Security/Http/Logout/LogoutSuccessHandler" does not exist. のエラーがでました。

3.
symfonyのドキュメントに success_handler というのがあったので


logout:
  path: logout
  target: homepage
 success_handler: customize.security.logout.success_handler //<-追加

を追加

customize.security.logout.success_handler:
  class: Customize\Security\Http\Logout\CustomizeLogoutSuccessHandler.php

を追加してみました。
これも
Invalid service "customize.security.logout.success_handler": class "Customize\Security\Http\Logout\CustomizeLogoutSuccessHandler.php" does not exist.

とエラーになる状態です。

services.yaml追加の試行については、私の勉強不足で書き方の問題かもしれませんが。。


長くなりましたが、ログアウト処理の拡張について知見ございましたらご教授いただけましたら幸いです。
よろしくお願いいたします。
スレッド表示 | 古いものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は88,843名です
総投稿数は109,985件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2313
5
umebius
2085
6
yuh
1819
7
h_tanaka
1646
8
red
1570
9
mcontact
1291
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.