如何在WCF服务上使用Windows身份验证访问服务器端的用户名?

时间:2011-12-13 14:59:38

标签: c# wcf silverlight wcf-ria-services windows-authentication

我使用Windows身份验证使用带有WCF服务的Silverlight应用程序。 我的用户正确进行了身份验证。我可以在客户端访问他们的用户名和角色。 但是我如何在服务器端做同样的事情呢? 我试过这个

ServiceSecurityContext.Current.WindowsIdentity

IIdentity caller = ServiceSecurityContext.Current.PrimaryIdentity;

这是我在stackoverflow上找到类似问题的答案,但它没有编译。 我得到一个' ServiceSecurityContext不包含Current'的定义。异常。

那么如何让用户在服务器端?

2 个答案:

答案 0 :(得分:3)

public static string GetUserIdentity()
{
   return OperationContext.Current.ServiceSecurityContext.WindowsIdentity.Name;
}

OperationContext位于System.ServiceModel命名空间中。

答案 1 :(得分:1)

尝试

HttpContext.Current.User;

希望这有帮助