2011-09-13 14 views
0

自己ホスト型WCFサービス(クロスドメイン)でビジネスロジックを使用する内部LOB Silverlightクライアントがあります。自己ホストWCFサービスを使用したSilverlightとASP.NET AuthenticationService?

私はASP.NET AuthenticationServicesを使用することを考えています。私は自分のホストしているWCFサービスでこれをどのように設定しますか?

  • SilverlightからASP.NET認証サービスを呼び出してユーザーを認証しますか?しかし、これは自分のホストサービスを保護しません...

  • Silverlightと私の自己ホストサービス呼び出しASP.NET認証サービスのすべての要求でユーザー名とパスワードを送信しますか?

  • SilverlightからASP.NET AuthenticationServiceを呼び出してユーザーを認証し、Silverlightからの要求ごとにユーザー名とパスワードを送信してログなどを許可し、他の手段を使用してサービスを保護しますか?

これを接着するためにいくつかの方法が一緒にあるのか、ASP.NET AuthenticationServiceは自己ホスト型WCFサービスを持つときに使用されるものではありませんか?

答えて

0

WCF認証サービスで行ったすべての調査では、同じドメイン(RIAのような)アプリケーションの使用が示されています。 HttpContext.Current.Userを設定し、ユーザーセッションを作成するので、ホスティングWebサイトのいくつかのサブフォルダで他のWCFエンドポイントを制限し、web.configファイル経由でアクセスを制御できます。このシナリオでは、HttpContextユーザーのログを使用できます。クロスドメイン化を計画している場合は、WCFバインディング構成でTransport(HTTPS)とMessage Securityの組み合わせを使用する必要があると思います。これは、基本的に2番目の箇条書きが真実であることを意味し、サービスクライアントの資格情報(Windows認証またはフォーム認証を使用)とすべてのWCFをUsername/Pwに設定する必要があります。

+1

これはIIS上でWCFサービスをホストする理由かもしれません。私。それ以外の場合は、独自のIPrincipalを実装し、各サービス要求に対して(ユーザと役割を取得するための)データベースクエリを実行する必要がありますか?私が理解しているように、IISフォーム認証は、このDBラウンドトリップを避けるために、いくつかのHTTP Cookieトークンを使用しますか? – Poppert

+1

ASP.NETフォームの認証プロバイダがセッションログイン時にDBにヒットしますが、ユーザーセッションの間HttpContextにそのcredが保持されるため、メッセージレベルのWCFと比較してDB呼び出しの数が削減されますメッセージ・インスペクタがコールを受信したときにすべてをチェックするセキュリティ。 –

関連する問題