https://docs.microsoft.com/en-us/aspnet/core/security/authorization/roles?view=aspnetcore-3.1
- 允许 xxx 或 yyy 角色访问
[Authorize(Role = "xxx,yyy")]
- 允许同时具有 xxx 和 yyy 角色的用户访问。
[Authorize(Role = "xxx")]
[Authorize(Role = "yyy")]
- Authorize 标签可以用在 controller 或 action 上。并且可以覆盖设置;
- 用 [AllowAnonymous] 标签可以设置允许匿名访问
- 在 ConfigureServices() 方法中,可以设置基于 policy 的角色检验。
policy 是新的比 role 更高层的控制粒度。一个 policy 里面可以设置多个角色等等。用 AddPolicy() 方法来定义。使用的地方:
[Authorize(Policy = "xxxPolicy")]
- 需要在 ConfigureServices() 方法中用 AddRoles() 方法来注册 role 服务。