Webで構成の解決策を探しましたが、ニーズを満たすものが見つかりません。これまでのところ、私はこれに丸3日間取り組んできましたが、正しく機能させることができません。理解できなかったことがいくつかあると確信しています。
私はブランチ2.1でsymfonyアプリケーションを開発しています。
これを短くする。認証に使用したいWebサービスがあります。
これが私が実装したいフローです:
- ユーザーが資格情報を送信する
- これらの資格情報(必要なユーザー名とパスワード)は私のWebサービスに送信されます
- ユーザー名/パスワードが正しい場合、Webサービスは、ユーザー名、ロール、およびパスワード以外のいくつかのものを含む配列を提供します。(クレデンシャルが正しくない場合、1つのフィールドを持つ配列が返されます)
- Webサービスが「大きな」配列を提供するとすぐに、ユーザーが認証されたと見なされるようにします。
- 返されたロールの機能として、Symfonyセキュリティコンポーネントが対応する認証をユーザーに与えるようにしたい。
- 閲覧したページごとにWebサービスを呼び出さないようにしたいと思います。
Symfonyを使用してこれを作成できるかどうかはわかりません。確かに、このワークフローはより安全ではないようですが、このWebサービスを使用する別の方法はわかりません。
最後に、認証はリモートサービスで行われるため、UserProviderは必要ありません。しかし、明らかに、Symfonyコンポーネントにはユーザープロバイダーが必要です(タイプは関係ありません)。
よろしくお願いします
編集:簡単にするために、UserProviderクラス(UserProviderInterfaceを実装する)のloadUserByUsername()関数で変数$ username以外のものを渡すことは可能ですか?ユーザーオブジェクトを取得するには、ユーザー名に加えてユーザーパスを取得する必要があります。