Доступ к заявкам через субъект безопасности, прикрепленный к потоку запросов, по сравнению с AuthorizationContext - PullRequest
1 голос
/ 01 апреля 2011

Я работаю с Azure ACS Labs , где они используют FederatedServiceCredentials для проверки подлинности пользователей для Active Federation. Теперь я хочу получить доступ к утверждениям пользователя из службы WCF.

Согласно этой статье , к заявкам обращается поток запросов ... Может кто-нибудь объяснить или продемонстрировать, что это значит?

1 Ответ

2 голосов
/ 01 апреля 2011

Поток запроса - это поток, выполняющий API вашего сервиса на сервере. Из этого потока (он же внутри вашего API сервиса) вы можете получить доступ к Thread.CurrentPrincipal.Identity. Это будет ClaimsIdentity, который содержит требования, предоставленные вам вашей STS. Например:

 class MyService:IService
 {
   // code running on wcf server
   bool AdminOnlyApi()
   {    
     var identity = Thread.CurrentPrincipal.Identity as ClaimsIdentity;

     // fail all non admin callers.
     if (!identity.Claims.Exists(c=>c.ClaimType=="role" && c.Value=="Admin"))
     {
        throw new SecurityException("Access is denied.");
     }
     return True;
   }  
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...