MVC asp.net で認証/承認を行う方法に関していくつか質問があります。
各リクエストでユーザー名とパスワードを渡すことでユーザーを認証/承認するWCFサービスがたくさんあります(HttpModuleを使用して検証し、WCFでAuthenticationイベントをキャッチします)。その HttpModule 内の aspnet メンバーシップを使用してユーザーを検証し、プリンシパルも設定して、サービスでロールを設定できるようにします (これらのサービスはさまざまなクライアントと共有されるため、これがどのように機能するかを維持する必要があります)。
これらのサービスを呼び出すことができる MVC プロジェクトを作成したいのですが、ユーザー名とパスワードをセッションに保存して各リクエストに渡したくありません。
誰かが私を助けてくれれば、いくつかのギャップがあるシナリオがあります!
WCF サービス レイヤーで WCF が提供する AuthenticationService をオンにします。
私の MVC プロジェクトでは、フォーム認証を追加し、メソッドを authorize 属性で装飾します。これにより、認証されていない場合はログイン ページにリダイレクトされます。
ログイン ページで、ユーザーが自分のユーザー名とパスワードを指定すると、WCF AuthenticationService を呼び出してユーザーをログインさせます。次に、これから認証トークンを取得し、セッションに保存します。
次にサービス層で WCF サービスを呼び出したいときは、このトークンを取得して、要求のヘッダーに追加します。
サービス側でユーザーを検証する HttpModule で、有効なトークンかどうか、または有効なユーザー名またはパスワードかどうかを確認します (他の人がこれらの Web サービスを呼び出すのを容易にするため)。
そうであれば、リクエストを受け入れて正しいデータを返します。
これはこれにアプローチする正しい方法のように思えますか??
どんな助けでも大歓迎です.. :/ 前もって感謝します! ニール