public IActionResult Index() { //Windows or local => claim http://schemas.microsoft.com/identity/claims/identityprovider var claimIdentityprovider = User.Claims.FirstOrDefault(t => t.Type == "http://schemas.microsoft.com/identity/claims/identityprovider"); if (claimIdentityprovider != null && _appAuthorizationService.IsAdmin(User.Identity.Name, claimIdentityprovider.Value)) { // yes, this is an admin Console.WriteLine("This is an admin, we can do some specific admin logic!"); } return(View()); }
protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, IsAdminRequirement requirement) { if (context == null) { throw new ArgumentNullException(nameof(context)); } if (requirement == null) { throw new ArgumentNullException(nameof(requirement)); } if (_appAuthorizationService.IsAdmin(context.User.Identity.Name)) { context.Succeed(requirement); } return(Task.CompletedTask); }
protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, IsAdminRequirement requirement) { if (context == null) { throw new ArgumentNullException(nameof(context)); } if (requirement == null) { throw new ArgumentNullException(nameof(requirement)); } var claimIdentityprovider = context.User.Claims.FirstOrDefault(t => t.Type == "http://schemas.microsoft.com/identity/claims/identityprovider"); if (claimIdentityprovider != null && _appAuthorizationService.IsAdmin(context.User.Identity.Name, claimIdentityprovider.Value)) { context.Succeed(requirement); } return(Task.CompletedTask); }