我使用UserNamePasswordValidator
类作为WCF UserName
安全性的一部分。这一切都很有效,类的Validate
函数被调用并正常工作。
如何才能找出我的服务功能中使用了哪些UserName
?
例如,假设客户端使用类似
之类的东西连接并请求日志列表IList<Log> Logs() { ... }
该函数如何知道该请求使用了哪个UserName?
我想要做的是记录UserName调用服务中的哪个函数。
答案 0 :(得分:9)
不确定,但您可能正在寻找
var userName = OperationContext.Current.ServiceSecurityContext.PrimaryIdentity.Name;
答案 1 :(得分:1)
我相信操作环境中有一些东西。试试这个:
OperationContext oc = OperationContext.Current;
ServiceSecurityContext ssc = oc.ServiceSecurityContext;
string client = ssc.PrimaryIdentity.Name;