私は WCF の初心者で、WCF Rest サービスを保護する方法を知りたいです。私はasp.net Webサイトを持っています。登録ユーザーのみがアクセスでき、アプリケーションは同じIISサーバーでホストされているサービスを使用しています。私の質問は、登録ユーザーのみが使用できるように、このサービスの使用を制限するにはどうすればよいですか?サービスが多くのクライアント (Android、iPhone など) で使用できることを知っている。どのタイプの認証を使用できますか? サービスをテストするために、winform を作成し、HttpWebRequest を使用します。 PS: https を使用できません。 ありがとう
1 に答える
最も簡単な方法は、asp.net 互換モードを使用することです。WCF サービス呼び出しにより、ASP.NET 認証およびセッション cookie のチェックなど、ASP.NET ページに使用されるのと同じ前処理が行われます。httpcontext.current.user.identity.isauthenticated を含む HttpContext を確認することもできます。ユーザーが認証されていない場合は、例外をスローするか、エラー コードを返します。詳細については、http : //msdn.microsoft.com/en-us/library/aa702682.aspxをご覧ください。
したがって、アプリケーションですでにフォーム認証を使用しており、ユーザーがアプリケーションにログインした後にサービスを呼び出す必要がある場合は、準備が整いました。
認証サービスを作成することもできます。このサービスは、クライアントがユーザー名とパスワードを送信できるようにし、ASP.NET 認証を使用してユーザーを認証します。認証 Cookie が返され、上記のように今後のサービス呼び出しを確認できます。http://msdn.microsoft.com/en-us/library/bb386582.aspxを参照してください。
認証サービスはjsonを使用して呼び出すことができると思います。ASP.NET を使用せずに json クライアントから .NET AuthenticationService を呼び出す方法を参照してください。