2010-12-22 97 views
3

我正在使用UserNamePasswordValidator类作为使用WCF的UserName安全性的一部分。这一切都很好,并且类的Validate函数被调用并正常工作。WCF UserNamePasswordValidator - 验证后访问凭据

那我怎么才能知道UserName用在我的服务功能中?

例如说,如果一个客户端连接,并要求使用类似

IList<Log> Logs() { ... } 

该功能如何才能知道哪些用户名是对请求中使用日志列表?

我想要做的是记录什么用户名称调用服务内的什么功能。

回答

9

不知道,但你可能会寻找

var userName = OperationContext.Current.ServiceSecurityContext.PrimaryIdentity.Name; 
+0

非常感谢! – Chris 2010-12-22 16:49:25

1

我相信是有东西在操作环境。试试这个:

OperationContext oc = OperationContext.Current; 
ServiceSecurityContext ssc = oc.ServiceSecurityContext; 
string client = ssc.PrimaryIdentity.Name;