Получить WindowsAccount для текущего пользователя, который сделал запрос к службе WCF - PullRequest
1 голос
/ 07 октября 2011

Привет,

Я получил службу WCF (сеанс), которая использует как WindowsAuthentication, так и обычную аутентификацию UserName / Password.

Теперь мне нужно получить текущего пользователяна клиенте, который отправил запрос в службу WCF.

Я знаю, что это можно сделать в IAuthorizationPolicy, но я не уверен, как это сделать в веб-методе?

Я пробовал это:

WindowsIdentity.GetCurrent();

Это, однако, возвращает только текущего пользователя, который запускает службу WCF (кажется), а не пользователя клиента, получившего текущее требование?

Совет Pleas

BestRegards

Ответы [ 2 ]

1 голос
/ 07 октября 2011

Идентификатор пользователя, отправившего запрос, доступен в WCF через AuthorizationContext,

AuthorizationContext context = ServiceSecurityContext.Current.AuthorizationContext

Это работает для любого метода аутентификации, независимо от того, используете ли вы windows или имя пользователя / пароль.

WCF по умолчанию не устанавливает идентификатор в рабочем потоке, поэтому вы не сможете получить его с помощью WindowsIdentity.

С уважением Пабло.

1 голос
/ 07 октября 2011

ServiceSecurityContext.Current.WindowsIdentity должен сделать трюк.

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