Advertisement
Guest User

Untitled

a guest
May 25th, 2019
107
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.68 KB | None | 0 0
  1.    public class PermissionRequirement : IAuthorizationRequirement
  2. {
  3.      public string Permission { get; }
  4.     public PermissionRequirement(string permission)
  5.     {
  6.         this.Permission = permission;
  7.     }
  8. }
  9.  
  10.  
  11.  
  12. //HANDLE
  13.  
  14.   public class PermissionAuthorizationHandler : AuthorizationHandler<PermissionRequirement>
  15. {
  16.       UserManager<ApplicationUser> _userManager;
  17.       RoleManager<ApplicationRole> _roleManager;
  18.        private readonly ILogger<PermissionAuthorizationHandler> _logger;
  19.  
  20.  
  21.     public PermissionAuthorizationHandler(UserManager<ApplicationUser> userManager, RoleManager<ApplicationRole> roleManager,ILogger<PermissionAuthorizationHandler> logger)
  22.     {
  23.         _userManager = userManager;
  24.         _roleManager = roleManager;
  25.         _logger = logger;
  26.  
  27.     }
  28.  
  29. protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, PermissionRequirement requirement)
  30.         {
  31.             _logger.LogWarning("Evaluating authorization requirement for ops >= {age}");
  32.            
  33.              var role = context.User.IsInRole("testes");
  34.            if(role)
  35.            {
  36.              _logger.LogWarning("Evaluating authorization requirement for ops >= {age}");
  37.            }
  38.            
  39.  
  40.             // Check the user's age
  41.            
  42.  
  43.             return Task.CompletedTask;
  44.         }
  45. }
  46.  
  47.  
  48.  
  49. //startup.cs
  50.  options.AddPolicy("Over21Only",
  51.                         policy => policy.Requirements.Add(new PermissionRequirement("juliocostaa@icloud.com")));
  52.   });
  53.  
  54. //Controller
  55.   [Authorize(Policy = "Over21Only")]
  56.               public IActionResult Index()
  57.         {
  58.            
  59.  
  60.             return RedirectToAction("Dashboard1");
  61.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement