2

さまざまなセキュリティ シナリオを処理する単純な WCF サービスを作成しようとしていますが、どこから始めればよいかわかりません。

WCF サービスは IIS でホストされます (ほとんどの場合)。認証された Active Directory ユーザーと認証されていないユーザー (匿名/外部) の両方がアクセスできる必要があります。認証されたユーザーは追加のメソッドにアクセスできる必要がありますが、両方のタイプのさまざまなメソッドにアクセスできる必要があります。

HttpContext.Current.User.Identity.IsAuthenticated をチェックして (これがどのタイプのユーザーかを判断する最も簡単な方法だと思います - または ServiceSecurityContext.Current.WindowsIdentity でしょうか)、ロール データベースにアクセスできるようにしたいと考えています。このサービスは、.net 4.0 Web サイト (webforms アプリでも mvc でもない) と、.net である場合もそうでない場合もあるその他の外部ソース (たとえば、Java アプリまたは Java Web サイト) の両方からアクセスされます。

どこから始めればよいかわかりません。バインディング、トランスポート、セキュリティ モードのタイプ。サービスでメンバーシップ/ロール プロバイダー (SimpleMembership または古い asp.net メンバーシップ) を使用できますか?

さまざまなタイプの匿名ユーザーが必要な場合、さまざまなロールの特定の Active Directory ユーザーにマップする必要がありますか? または、認証のために何らかのユーザー名/パスワードを含めることもできますか?

また、偽装を使用できるようにする必要もあります。これにより、正しい権限を前提として、あるユーザーが実行したアクションを別のユーザーが実行したように見せることができます。

私はさまざまなオプションを見ていて、混乱しています。ADFS、WIF、Microsoft.IdentityModel.dll、ACS 2.0 など。

何が最善か、何がやり過ぎか、何がニーズを満たし、何がニーズを満たさないか、何が比較的簡単に実装できるかがわからない。SSL を使用するかどうか、使用する場合は、サービスの web.config とクライアントの web.config の両方をセットアップする方法

私はこれを尋ねるべきことをたくさん知っていますが、少なくとも正しい方向に向けられれば、うまくいかない解決策や過度に複雑な解決策を見るのをやめて、正しい解決策に集中することができます.

4

0 に答える 0