WCF UserNamePasswordValidator - 验证后访问凭据

时间:2010-12-22 15:45:01

标签: c# wcf

我使用UserNamePasswordValidator类作为WCF UserName安全性的一部分。这一切都很有效,类的Validate函数被调用并正常工作。

如何才能找出我的服务功能中使用了哪些UserName

例如,假设客户端使用类似

之类的东西连接并请求日志列表
IList<Log> Logs() { ... }

该函数如何知道该请求使用了哪个UserName?

我想要做的是记录UserName调用服务中的哪个函数。

2 个答案:

答案 0 :(得分:9)

不确定,但您可能正在寻找

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

答案 1 :(得分:1)

我相信操作环境中有一些东西。试试这个:

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