Wcf 与AuthorizationContext相比,通过附加到请求线程的安全主体访问声明

Wcf 与AuthorizationContext相比,通过附加到请求线程的安全主体访问声明,wcf,azure,claims-based-identity,federated-identity,wif,Wcf,Azure,Claims Based Identity,Federated Identity,Wif,我正在使用他们用来验证活动联合用户身份的位置。现在我想从WCF服务中访问用户的声明 根据,声明由请求线程访问。。。有人能解释或演示这意味着什么吗?请求线程就是在服务器上执行服务API的线程。从该线程(即您的服务api中),您可以访问thread.CurrentPrincipal.Identity。这将是一个索赔实体,其中包含您的STS授予您的索赔。例如: class MyService:IService { // code running on wcf server bool A

我正在使用他们用来验证活动联合用户身份的位置。现在我想从WCF服务中访问用户的声明


根据,声明由请求线程访问。。。有人能解释或演示这意味着什么吗?

请求线程就是在服务器上执行服务API的线程。从该线程(即您的服务api中),您可以访问thread.CurrentPrincipal.Identity。这将是一个索赔实体,其中包含您的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;
   }  
 }