表示されません。プロバイダcookbook tutorialに従って書かれています。その他のメッセージ - たとえば、security.INFO: User "......" has been authenticated successfully
が正しく表示されます。Symfony2のデバッグログは、私がデバッグログに問題を持っているユーザ名
注:私はforumにも、この問題を投稿してください。
表示されません。プロバイダcookbook tutorialに従って書かれています。その他のメッセージ - たとえば、security.INFO: User "......" has been authenticated successfully
が正しく表示されます。Symfony2のデバッグログは、私がデバッグログに問題を持っているユーザ名
注:私はforumにも、この問題を投稿してください。
私は同じ問題を抱えており、これを理解するために多くの掘り起こしが必要でした。
問題は、Userオブジェクトのserialize関数でユーザー名をシリアル化しないことです。
public function serialize()
{
return serialize($this->id);
}
public function unserialize($data)
{
$this->id= unserialize($data);
}
セッショントークンからユーザーをロードするときにのみ、idが知られている。この方法で(?これはまた_switch_user = _exitの機能を壊す注意してください):
多くの人々は彼らの直列化機能については、以下を使用します。
public function serialize()
{
return serialize(array($this->id,$this->username));
}
public function unserialize($data)
{
list($this->id,$this->username) = unserialize($data);
}
この方法でユーザ名とIDが利用可能であり、問題が修正されています
では、次のコードを使用する必要があり、この問題を解決するには。注:それはEntityUserProviderによって却下されるように、カスタム・ユーザー・プロバイダの「refreshUser」関数が使用されることはありません!