-
Notifications
You must be signed in to change notification settings - Fork 661
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Member Entity拡張後に特定の操作をすると管理画面にログインできなくなる #4725
Comments
以下の手順で動作確認してみましたが、ログインできなくなる事象は確認できませんでした。
<?php
namespace Customize\Entity;
use Eccube\Annotation\EntityExtension;
/**
* Trait MemberTrait
* @package Customize\Entity
*
* @EntityExtension("Eccube\Entity\Member")
*/
trait MemberTrait
{
public $role;
} proxy作成
メンバー管理にてログイン中のメンバーの「名前」と「ログインID」を変更
管理画面ログアウト、ログイン |
@okazy |
ありがとうございます。 |
どうやらtraitで拡張したことが直接の原因では無いようでした。 var/cache/[dev or prod]/doctrine/orm/Proxies/__CG__EccubeEntityMember.php |
@sw-satoshi-nakano
|
上記、動作を検証しましたが、EC-CUBEの独自実装のProxyはシステムの一時ファイル( |
いただいた情報をもとに探ってみます。 |
@sw-satoshi-nakano Doctrineを利用している場合にマイナーバージョンアップでも問題が発生しているようでした。 ドキュメントも修正されていますね。 |
意図的に同じ状況を作ってエラーを発生させることが出来ずモヤモヤしておりますが、Symfonyの仕様に対応した。ということで納得することにします。ご対応ありがとうございました。 |
概要(Overview)
Member Entity拡張後に特定の操作をすると管理画面にログインできなくなりました。
期待する内容(Expect) or 要望 (Requirement)
ログインできるようにしたい。
再現手順(Procedure)
おそらく、以下の箇所でセットしたMemberオブジェクトが「Eccube\Entity\Member」ではなくProxyで生成されたオブジェクトになっているからでは?
ec-cube/src/Eccube/Controller/Admin/Setting/System/MemberController.php
Line 207 in 62f730f
以下の箇所をMemberのサブクラスであればtrueを返すように修正したら、エラーは解消した。
ec-cube/src/Eccube/Security/Core/User/MemberProvider.php
Line 89 in 62f730f
環境 (environment)
関連情報 (Ref)
symfony/symfony#35435
The text was updated successfully, but these errors were encountered: