Доступ к информации аутентификации WCF со стороны службы - PullRequest
1 голос
/ 31 июля 2009

Я использую этот код для аутентификации в моей службе WCF:

proxy.ClientCredentials.UserName.UserName = "test";
proxy.ClientCredentials.UserName.Password = "pass";

Есть ли способ получить доступ к этой информации из метода моего кода службы WCF? (Меня не интересует используемый пароль, больше имени пользователя для целей аудита.)

Я пытаюсь определить личность пользователя, вызывающего метод, без изменения сигнатуры метода для включения другого параметра.

Ответы [ 2 ]

4 голосов
/ 31 июля 2009

Вы можете получить имя пользователя вызывающего абонента следующим образом:

ServiceSecurityContext ssc = ServiceSecurityContext.Current;

if (!ssc.IsAnonymous && ssc.PrimaryIdentity != null)
{
    string userName = ServiceSecurityContext.Current.PrimaryIdentity.Name;
}

PrimaryIdentity будет содержать "нормальный" идентификатор и содержит все поля (например, IsAuthenticated и т. Д.), Которые несет класс объекта идентификации.

Марк

3 голосов
/ 31 июля 2009

Вы пытались заглянуть в ServiceSecurityContext ?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...