WCF UserNamePasswordValidator - Доступ к учетным данным после проверки - PullRequest
3 голосов
/ 22 декабря 2010

Я использую класс UserNamePasswordValidator как часть защиты UserName с WCF. Все это прекрасно работает, и функция класса Validate вызывается и работает правильно.

Как тогда я могу узнать, что UserName использовалось в моих сервисных функциях?

Например, скажем, если клиент подключается и запрашивает список журналов, используя что-то вроде

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

Как эта функция может узнать, какое имя пользователя использовалось в этом запросе?

Что я хочу сделать, так это записать, что UserName вызывает, какую функцию в службе.

Ответы [ 2 ]

9 голосов
/ 22 декабря 2010

Не уверен, но вы можете искать

var userName = OperationContext.Current.ServiceSecurityContext.PrimaryIdentity.Name;
1 голос
/ 22 декабря 2010

Я полагаю, что что-то есть в контексте операции.Попробуйте это:

OperationContext oc = OperationContext.Current;
ServiceSecurityContext ssc = oc.ServiceSecurityContext;
string client = ssc.PrimaryIdentity.Name;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...