当前位置: 首页>>代码示例>>C#>>正文


C# ServiceAuthorizationManager类代码示例

本文整理汇总了C#中System.ServiceModel.ServiceAuthorizationManager的典型用法代码示例。如果您正苦于以下问题:C# ServiceAuthorizationManager类的具体用法?C# ServiceAuthorizationManager怎么用?C# ServiceAuthorizationManager使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。


ServiceAuthorizationManager类属于System.ServiceModel命名空间,在下文中一共展示了ServiceAuthorizationManager类的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: CheckAccessCore

public class MyServiceAuthorizationManager : ServiceAuthorizationManager
{
  protected override bool CheckAccessCore(OperationContext operationContext)
  {                
    // Extract the action URI from the OperationContext. Match this against the claims
    // in the AuthorizationContext.
    string action = operationContext.RequestContext.RequestMessage.Headers.Action;
    
    // Iterate through the various claim sets in the AuthorizationContext.
    foreach(ClaimSet cs in operationContext.ServiceSecurityContext.AuthorizationContext.ClaimSets)
    {
      // Examine only those claim sets issued by System.
      if (cs.Issuer == ClaimSet.System)
      {
        // Iterate through claims of type "http://www.contoso.com/claims/allowedoperation".
          foreach (Claim c in cs.FindClaims("http://www.contoso.com/claims/allowedoperation", Rights.PossessProperty))
        {
          // If the Claim resource matches the action URI then return true to allow access.
          if (action == c.Resource.ToString())
            return true;
        }
      }
    }
    
    // If this point is reached, return false to deny access.
    return false;                 
  }
}
开发者ID:.NET开发者,项目名称:System.ServiceModel,代码行数:28,代码来源:ServiceAuthorizationManager


注:本文中的System.ServiceModel.ServiceAuthorizationManager类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。