2017-06-20 19 views
2

javascriptクライアントから呼び出されるIISでホストされるREST WCFサービスを保護するための最良の(または少なくとも動作する)オプションは何ですか?IIS WCFサービス認証、javascriptクライアント

私が持っているサービスは、クライアントからGETとPOSTを受け取り、httpとhttpsを介して正常に動作しているRESTサービスです。

私は認証を実装しようとしていましたが、ユーザーと役割のための独自の構造を持つデータベースを持っています(Windows認証を避けたいので) 私はさまざまなことを試みてきましたが、何かを働かせる。

私が試した最後のことは、カスタムバリデーターでServiceAuthorizationManagerとUserName Auth(Message)を使用した基本認証(トランスポート)です。私は基本認証で(System.IdentityModel.Selectors.UserNamePasswordValidatorから継承)カスタムバリデータを使用できるかどうか私は知らない、または私はHTTPでのユーザー名の認証資格情報を追加することができるかどう

(s)はRESTリクエスト(多分それはSOAPサービスである必要がありますか?)。

また、ユーザーロール/ロールに基づいてメソッドのアクセスを制御するカスタムRoleProviderのようなものを使用したいと思います。

ありがとうございました。

** 1。これを行うにはいくつかの方法があります:

+0

本当に答えはありませんが、私は非常に似ている今後のプロジェクトがあるので、あなたの質問に従っています。私はトークン認証を実装したいと思っているので、これを地平線に保存しました。それは読める価値があるかもしれませんし、あなたのニーズに役に立たないかもしれません。しかし、共有することを傷つけることはできませんでした。 http://www.developerhandbook.com/c-sharp/create-restful-api-authentication-using-web-api-jwt/ –

+1

@TravisActon私はそれが私が必要としているものとは思えませんが、とにかく感謝します。私は最終的に正しいと思う。主な問題は、Windowsユーザーのいない最初の認証を通過できず、カスタムユーザーがいたことでした。それが意図したとおりに動作する場合は、関連コードを回答として掲示します – mikepa88

+0

基本認証を使用する場合はHTTPSを強制することを強く推奨します。そうしないと、クライアントからのユーザーの資格情報がネットワークを介してプレーンテキストで送信されます。 –

答えて

2

クライアント証明書認証の使用。 **

あなたは、彼らが(拇印を使用して)合格証明書に基づいてクライアントを許可することができますし、簡単にそれらを分類することができます。

2. SQLメンバーシッププロバイダを使用して基本認証を実装します。

あなたが最良のあなたの目的とどのような将来的に維持することが容易になりますを提供していますどのように電話を取る必要があります。

は、これらの記事を参照してください。証明書管理はほとんどの場合苦労しますが、独自の利点があります。私は個人的には、基本認証とSQLメンバーシッププロバイダを使用している2番目のオプションを使用します。

関連する問題