如何在WCF中识别经过身份验证的用户?

时间:2010-05-19 23:34:11

标签: c# asp.net asp.net-mvc wcf

我有一个WCF服务,它将使用基本身份验证,并希望能够识别“谁”正在尝试使用该服务。我知道HttpContext.Current是NULL并且在WCF服务中,但是不知道获取用户名的替代方法。

对于网站,我可以使用:

userName = HttpContext.Current.Request.ServerVariables["LOGON_USER"];

如何在WCF服务中获取userName?

2 个答案:

答案 0 :(得分:8)

这样的事可能吗?

string login = OperationContext.Current
                               .ServiceSecurityContext
                               .PrimaryIdentity
                               .Name;

显然,沿着该路径检查空引用异常会有所帮助,但是你明白了。

答案 1 :(得分:2)

OperationContext.Current.ServiceSecurityContext.PrimaryIdentity.Name