具有Active Directory身份验证的WCF服务

时间:2009-06-23 09:52:17

标签: asp.net wcf authentication active-directory

我正在编写一个WCF服务,允许访问基于AD用户组的操作。如果登录的用户属于groupA,请允许他执行operationA,但不允许operationB,依此类推。为此,我必须将NetworkCredentials传递给服务,如

factory.Credentials.Windows.AllowedImpersonationLevel = 
                     TokenImpersonationLevel.Identification;
factory.Credentials.Windows.AllowNtlm = true;
factory.Credentials.Windows.ClientCredential.username = "username";
factory.Credentials.Windows.ClientCredential.password = "pwd";
factory.Credentials.Windows.ClientCredential.domain = "mycompany.com";

我希望用户无需输入他的凭据来调用服务操作。它应该来自Thread.CurrentPrincipal。任何人都可以帮助我解决如何传递网络凭据的问题。

1 个答案:

答案 0 :(得分:2)

为什么不直接将安全模式指定为绑定的“Windows集成”安全性?这是net.Tcp和wsHttp绑定的默认设置 - 当前登录用户的Windows凭据将通过网络发送到服务器。

无需再次明确设置这些凭据。