Example #1
0
 protected override void Handle(AuthorizationContext context, NameAuthorizationRequirement requirement)
 {
     if (context.User != null)
     {
         // REVIEW: Do we need to do normalization?  casing/loc?
         if (context.User.Identities.Any(i => string.Equals(i.Name, requirement.RequiredName)))
         {
             context.Succeed(requirement);
         }
     }
 }
        protected override void Handle(AuthorizationContext context, DenyAnonymousAuthorizationRequirement requirement)
        {
            var user            = context.User;
            var userIsAnonymous =
                user?.Identity == null ||
                !user.Identities.Any(i => i.IsAuthenticated);

            if (!userIsAnonymous)
            {
                context.Succeed(requirement);
            }
        }
 protected override void Handle(AuthorizationContext context, RolesAuthorizationRequirement requirement)
 {
     if (context.User != null)
     {
         bool found = false;
         if (requirement.AllowedRoles == null || !requirement.AllowedRoles.Any())
         {
             // Review: What do we want to do here?  No roles requested is auto success?
         }
         else
         {
             found = requirement.AllowedRoles.Any(r => context.User.IsInRole(r));
         }
         if (found)
         {
             context.Succeed(requirement);
         }
     }
 }
Example #4
0
 public override void Handle(AuthorizationContext context, ClaimsAuthorizationRequirement requirement)
 {
     if (context.User != null)
     {
         bool found = false;
         if (requirement.AllowedValues == null || !requirement.AllowedValues.Any())
         {
             found = context.User.Claims.Any(c => string.Equals(c.Type, requirement.ClaimType, StringComparison.OrdinalIgnoreCase));
         }
         else
         {
             found = context.User.Claims.Any(c => string.Equals(c.Type, requirement.ClaimType, StringComparison.OrdinalIgnoreCase) &&
                                             requirement.AllowedValues.Contains(c.Value, StringComparer.Ordinal));
         }
         if (found)
         {
             context.Succeed(requirement);
         }
     }
 }