2011-12-16 302 views
0

我们有一个ASP.NET MVC网站和一个WCF服务。ASP.NET MVC Windows身份验证

我们在网站上使用Windows身份验证,并希望从网站到服务凭据传递。通常(到目前为止)服务和网站位于同一台服务器上。目前我们将用户名作为字符串传递,但意识到这可能不是一个好的选择。

我们想知道的AD用户名时,我们已经在我们的数据库中的AD用户映射到我们的系统中各种角色映射执行WCF服务方法。

我们希望WCF服务为我们与以该用户访问SQL配置它的IIS身份运行。

我们从哪里出发?

回答

0

使用Forms Authentication Ticket沿用户名通过。如果WCF和MVC将在不同的盒子/域中,请确保您覆盖加密和域。这些指令提到了machineKey,但是对于该域,它只是forms元素中的domain="MyDomain"属性。

+0

所以没办法让服务知道实际的广告的用户身份? – 2011-12-16 05:24:34

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