asp.net core 授权详解
2020-02-13 11:14
921 查看
IAuthorizeDate接口代表了授权系统的源头:
public interface IAuthorizeData { string Policy { get; set; } string Roles { get; set; } string AuthenticationSchemes { get; set; } }
接口中定义的三个属性分别代表了三种授权类型:
1、基于角色的授权:
[Authorize(Roles = "Admin")] // 多个Role可以使用,分割 public class SampleDataController : Controller { ... }
2、基于scheme的授权:
[Authorize(AuthenticationSchemes = "Cookies")] // 多个Scheme可以使用,分割 public class SampleDataController : Controller { ... }
3、基于策略的授权:
[Authorize(Policy = "EmployeeOnly")] public class SampleDataController : Controller { }
基于策略的授权是授权的核心,使用这种授权策略时,首先要定义策略:
public void ConfigureServices(IServiceCollection services) { services.AddMvc(); services.AddAuthorization(options => { options.AddPolicy("EmployeeOnly", policy => policy.RequireClaim("EmployeeNumber")); }); }
授权策略本质上就是对claims的一系列断言。
而基于角色和基于scheme的授权都是一种语法糖,最终会转换为策略授权。
以上就是关于asp.net core 授权的知识点内容,如果大家有任何疑问可以联系脚本之家小编。
您可能感兴趣的文章:
相关文章推荐
- ASP.NET Core针对一个使用HttpClient对象的类编写单元测试详解
- 详解ASP.NET Core 网站发布到Linux服务器
- asp.net core策略授权
- 详解CentOS 7.4下如何部署Asp.Net Core结合consul
- 详解ASP.NET Core API 的Get和Post请求使用方式
- 用Middleware给ASP.NET Core Web API添加自己的授权验证
- Asp.Net Core中服务的生命周期选项区别与用法详解
- ASP.NET Core 中间件详解及项目实战
- ASP.NET Core中调整HTTP请求大小的几种方法详解
- 详解asp.net core重新加载应用配置
- ASP.NET Core 认证与授权[3]:OAuth & OpenID Connect认证
- asp.net core的认证和授权
- ASP.NET Core Razor 页面路由详解
- 详解如何在ASP.NET Core中使用Redis
- ASP.NET Core真实管道详解[2]:Server是如何完成针对请求的监听、接收与响应的【上】
- ASP.NET Core WebAPI中使用JWT Bearer认证和授权
- 详解ASP.NET Core和ASP.NET Framework共享身份验证
- asp.net core 中间件详解及项目实战
- ASP.NET Core 认证与授权[6]:授权策略是怎么执行的?
- ASP.NET Core 认证与授权[7]:动态授权