HttpContext.Current.User始终为null

时间:2010-01-15 14:20:02

标签: wcf authentication

我有一个WCF服务,它有一个方法可以返回正在使用该服务的Silverlight客户端的Windows用户名。 WCF服务使用basicHttpBinding,其中TransportCredentialOnly模式设置,TransportClientCredentialType设置为Windows。在IIS中,Windows身份验证已启用,并且禁用了匿名身份验证。

尽管(显然)在我调用服务时正确配置服务并要求它返回用户名但是它出错了。仔细检查表明HttpContext.Current.User始终为null(因此抛出了nullreferenceexception)。

有没有人有任何其他想法,为什么这不起作用?

2 个答案:

答案 0 :(得分:4)

尝试添加 -

<serviceHostingEnvironment aspNetCompatibilityEnabled="true" />

到您的配置文件

答案 1 :(得分:1)

在WCF中,有OperationContext对象,您可以使用ServiceSecurityContext属性从中检索调用方/客户端传入的安全凭证。