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


C# ClaimsPrincipal.FindAll方法代码示例

本文整理汇总了C#中System.Security.Claims.ClaimsPrincipal.FindAll方法的典型用法代码示例。如果您正苦于以下问题:C# ClaimsPrincipal.FindAll方法的具体用法?C# ClaimsPrincipal.FindAll怎么用?C# ClaimsPrincipal.FindAll使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在System.Security.Claims.ClaimsPrincipal的用法示例。


在下文中一共展示了ClaimsPrincipal.FindAll方法的7个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: Transform

        public IPrincipal Transform(ClaimsPrincipal principal)
        {
            var roles = principal
                .FindAll(ClaimTypes.Role)
                .Select(x => x.Value)
                .ToArray();

            return new SamplePrincipal(principal.Identity, roles);
        }
开发者ID:cangosta,项目名称:JwtAuthForWebAPI,代码行数:9,代码来源:SamplePrincipalTransformer.cs

示例2: ScopePresent

 private bool ScopePresent(ClaimsPrincipal principal)
 {
     foreach (var scope in principal.FindAll("scope"))
     {
         if (_requiredScopes.Contains(scope.Value))
         {
             return true;
         }
     }
     return false;
 }
开发者ID:mequanta,项目名称:Janitor-old,代码行数:11,代码来源:RequiredScopesMiddleware.cs

示例3: ScopesFound

        private bool ScopesFound(ClaimsPrincipal principal)
        {
            var scopeClaims = principal.FindAll(_options.ScopeClaimType);

            if (scopeClaims == null || !scopeClaims.Any())
            {
                return false;
            }

            foreach (var scope in scopeClaims)
            {
                if (_options.AllowedScopes.Contains(scope.Value, StringComparer.Ordinal))
                {
                    return true;
                }
            }

            return false;
        }
开发者ID:NetChris,项目名称:IdentityModel.AspNet.ScopeValidation,代码行数:19,代码来源:ScopeValidationMiddleware.cs

示例4: FilterInternalClaims

 private IEnumerable<Claim> FilterInternalClaims(ClaimsPrincipal principal)
 {
     return principal.FindAll(c => 
         c.Type != "exp" && 
         c.Type != "nbf" && 
         c.Type != "iss" && 
         c.Type != "aud");
 }
开发者ID:RyanLiu99,项目名称:Thinktecture.IdentityModel,代码行数:8,代码来源:HttpAuthentication.cs

示例5: GetUserRoles

        private static IEnumerable<UserRole> GetUserRoles(ClaimsPrincipal principal)
        {
            var roleClaims = principal.FindAll(ClaimTypes.Role);

            foreach (var claim in roleClaims)
            {
                UserRole role;
                if (Enum.TryParse(claim.Value, true, out role))
                {
                    yield return role;
                }
            }
        }
开发者ID:EnvironmentAgency,项目名称:prsd-iws,代码行数:13,代码来源:InMemoryAuthorizationManager.cs

示例6: GetOutputClaims

        public static List<Claim> GetOutputClaims(ClaimsPrincipal principal, RequestDetails requestDetails, IClaimsRepository claimsRepository)
        {
            var name = principal.FindAll(ClaimTypes.Name).First().Value;
            var nameId = new Claim(ClaimTypes.NameIdentifier, name);

            var userClaims = new List<Claim> 
            {
                new Claim(ClaimTypes.Name, name),
                nameId,
                new Claim(ClaimTypes.AuthenticationMethod, principal.FindAll(ClaimTypes.AuthenticationMethod).First().Value),
                AuthenticationInstantClaim.Now
            };

            userClaims.AddRange(claimsRepository.GetClaims(principal, requestDetails));

            return userClaims;
        }
开发者ID:sevst,项目名称:Thinktecture.IdentityServer.45,代码行数:17,代码来源:TokenService.cs

示例7: ProcessClaims

 public IEnumerable<Claim> ProcessClaims(ClaimsPrincipal incomingPrincipal, IdentityProvider identityProvider, RequestDetails details)
 {
     var claims = incomingPrincipal.FindAll(c => c.Type != Constants.Claims.IdentityProvider);
     return claims;
 }
开发者ID:kievryan,项目名称:Thinktecture.IdentityServer.45,代码行数:5,代码来源:PassThruTransformationRuleRepository.cs


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