首页 > 技术文章 > asp.net core Role based Authorization

new-start 2020-07-01 01:01 原文

https://docs.microsoft.com/en-us/aspnet/core/security/authorization/roles?view=aspnetcore-3.1

  1. 允许 xxx 或 yyy 角色访问
[Authorize(Role = "xxx,yyy")]
  1. 允许同时具有 xxx 和 yyy 角色的用户访问。
[Authorize(Role = "xxx")]
[Authorize(Role = "yyy")]
  1. Authorize 标签可以用在 controller 或 action 上。并且可以覆盖设置;
  2. 用 [AllowAnonymous] 标签可以设置允许匿名访问
  3. 在 ConfigureServices() 方法中,可以设置基于 policy 的角色检验。

policy 是新的比 role 更高层的控制粒度。一个 policy 里面可以设置多个角色等等。用 AddPolicy() 方法来定义。使用的地方:

[Authorize(Policy = "xxxPolicy")]
  1. 需要在 ConfigureServices() 方法中用 AddRoles() 方法来注册 role 服务。

推荐阅读