Как получить доступ к имени пользователя на стороне сервера, используя проверку подлинности Windows в службе WCF? - PullRequest
1 голос
/ 13 декабря 2011

У меня есть приложение Silverlight со службой WCF, использующей проверку подлинности Windows.Мои пользователи проходят аутентификацию правильно.И я могу получить доступ к их имени пользователя и ролям на стороне клиента.Но как мне сделать то же самое на стороне сервера?Я пробовал это

ServiceSecurityContext.Current.WindowsIdentity

и

IIdentity caller = ServiceSecurityContext.Current.PrimaryIdentity;

Это то, что я нашел в качестве ответа на аналогичный вопрос здесь на stackoverflow, но он не компилируется.Я получаю исключение «ServiceSecurityContext не содержит определения для текущего».

Так как же получить пользователя на стороне сервера?

Ответы [ 2 ]

3 голосов
/ 13 декабря 2011
public static string GetUserIdentity()
{
   return OperationContext.Current.ServiceSecurityContext.WindowsIdentity.Name;
}

OperationContext находится в пространстве имен System.ServiceModel.

1 голос
/ 13 декабря 2011

попробуй

HttpContext.Current.User;

Надеюсь, это поможет

...