-1

以下は私のデータベーススキーマです:

ユーザー

  • uid *
  • ユーザー名

ユーザー認証

  • uid *
  • パスワード

この種のスキーマでは、Symfony2 Authenticate で大きな問題が発生しました。http://symfony.com/doc/current/cookbook/security/entity_provider.htmlでクックブックを読みました。しかし、私のプロジェクトのデータ モデルはチュートリアルとはかなり異なります。

認証のために user_auth からパスワードを取得するにはどうすればよいですか?

通常、JOIN クエリを使用して両方の情報を取得し、それらをユーザーが送信したデータと比較することを考えていますが、十分に理解されていない Doctrine ORM モデルが私を妨げています。

4

2 に答える 2

0

私は答えを見つけました。CUSTOM USER PROVIDERを使用します。

その後、非正規化スキーマのために Doctrine ORM に固執しました。ORM に合わせてスキーマを変更してあきらめる前に、このチュートリアルを読んだ後、ORM を再度マッピングしようとしました: http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/tutorials/composite -primary-keys.html . でも思ったようにはいきません。次に、以下の回答が方法を見つけるのに役立ちました。

  1. Symfony 2: doctrine クエリビルダーを使用した関連のないテーブルでの INNER JOIN
  2. Symfony 2 / Doctrine 2 で DBAL 接続を備えたカスタムリポジトリを持っていますか?
  3. Entity Manager をカスタム クラスまたはサービスに追加するにはどうすればよいですか?
  4. 「非オブジェクトでメンバー関数 get() を呼び出す」?

これで、すべて正常に動作します。必要なときに DBAL を使用できることを嬉しく思いますが、ORM の利点を失うことはありません。

于 2013-04-17T12:30:45.363 に答える