2011-12-16 20 views
0

私たちには、ASP.NET MVCのWebサイトとWCFサービスがあります。ASP.NET MVC Windows認証

WebサイトでWindows認証を使用し、Webサイトからサービスに資格情報を渡したいとします。通常(これまでのところ)サービスとWebサイトは同じサーバー上にあります。現時点では、ユーザー名を文字列として渡しますが、これはおそらく良い選択肢ではないことを認識しています。

ADユーザーをシステム内のさまざまな役割にマップするデータベースにマッピングがあるため、WCFサービスメソッドが実行されるときに、ADユーザー名を知りたいとします。

このユーザーがSQLにアクセスできるように構成したIIS IDとしてWCFサービスを実行します。

ここからはどこに行くのですか?

答えて

0

Forms Authentication Ticketを使用してユーザー名を渡します。 WCFとMVCが異なるボックス/ドメインにある場合は、暗号化とドメインをオーバーライドするようにしてください。これらの命令にはmachineKeyが含まれていますが、ドメインの場合はforms要素の属性がdomain="MyDomain"です。

+0

をので、サービスを持ってする方法は、実際のADのユーザーIDを知っていますか? –

+0

@AranMulhollandはこれについてはわかりませんが、これはWCFとASP.Netの間でユーザー名を渡すために使用したものです。 –

0

あなたはあなたが使用していたバインディングを述べませんでした。あなたはこのようなものを使用している場合は、それが動作するはずです:

<binding name="IWABinding"> 
     <security mode="Transport"> 
     <transport clientCredentialType="Windows" /> 
     </security> 
    </binding> 

おそらく、netTcpBindingでそれを使うだろう。また、basicHttpBinding以上に使用することもできます。また、TransportCredentialOnlyを考慮することもできます。詳細情報については

、以下を参照してくださいhttp://msdn.microsoft.com/en-us/library/ms733089(v=vs.110).aspx