私は、両方ともSymfony2で書かれたREST APIとそのAPIのフロントエンドを持っています。このマニュアルに従って、私は(ハッシュされた)パスワード、塩などのバックエンドからの情報をもとに、フロントエンドのユーザーオブジェクトを作成するためのカスタム・ユーザー・プロバイダを書かれているフロントエンドでは
など
:http://symfony.com/doc/current/cookbook/security/custom_provider.htmlハッシュされたパスワードを持つカスタムユーザープロバイダと、バックエンドAPIの基本である
しかし、ほとんどの私のAPIリクエストでは、HTTP Basic認証の資格情報が必要です。しかし、私が知る限り、ベーシックでは私は平文のパスワードが必要です。私はフロントエンド側にないが、私はちょうど私のカスタムユーザープロバイダのハッシュバージョンを持っています。
HTTPハッシュパスワードバージョンで何とかHTTPベーシックを使用できますか?私は後者を試してみた
または私は_usernameとフロントエンド上のログインフォームの_passwordフィールドを傍受、およびセッションに保存し(それが正しいかどうかわからないが、それは今のところそれを修正します)することができます
'login_check'の代わりに自分のURLにログインフォームをポストすることで_usernameと_passwordのフィールドを見ることができますが、その後、 '/ login-check'に転送してSymfony2に魔法をさせる必要があります。コントローラを見つけることができないので、これは失敗します(コントローラを設定せずにSf2がlogin_check呼び出しを傍受しますが、あなたがそれを使い始めたときにSf2がlogin_checkコールを傍受します。あなたはそれをサーバーに送信する前にパスワードをハッシュ化された場合は、
乾杯、
ディーター
なぜバックエンドとフロントエンドに同じファイアウォールを使用しないのですか? – julesbou
あなたは何を意味するかを詳しく説明できますか?私は私が続くとは思わない。両方のファイアウォールのケースは全く異なります。バックエンドの1つはHTTP基本認証で構成され、ステートレスですが、フロントエンドでは認証されていないため、HTTPベースではなくフォームによる認証が必要です。 – Dieter