symfony 2を使用して私の会社のWebプラットフォームを構築しています。最近、私は次のコードを追加して、私のUserエンティティの内部で検証ルールを変更した:パスワードの検証ルールを変更しても、古いユーザはログインできません
/**
* @Assert\Regex(
* pattern="/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,127}$/",
* message="edit.personnal_info.udpate.message.password_info_regex",
* groups={"registration"}
*)
*/
protected $plainPassword;
は、この変更の後、すべての私の古い作成したユーザーはもうログインできません。有効なパスワードを持つ新しいユーザーだけが接続できます。
古いパスワードをすべて変更したくありません。したがって、ログイン中に検証ルールをスキップする方法があれば、それは問題ありません。
Ps:私はFOSUserBundleを使用しています。
ログイン時に使用する検証グループを指定する必要があります。http://symfony.com/doc/current/form/validation_groups.html FOSUserBundleを使用して長い時間前に覚えていますので、詳細はわかりません。 – Cerad
本当に登録ルールを変更しただけですか?このルールにはログインするものはありません。 –
はい@KamilAdryjanek、Assertアノテーションを削除したときに動作するので確信しています – Jemmoudi