asp.netcore授权的示例分析-创新互联
这篇文章将为大家详细讲解有关asp.net core授权的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
成都创新互联公司是一个技术型专业网站建设公司,致力于为广大企业、创业者打造切实有效的PC站、WAP站、APP站点等企业网站。无论是企业宣传的网络营销推广、致力于营销的电商网站、内容资讯分享的各行业网站或其他类型网站,我们都从网站前期定位分析策划、技术架构,到网站界面设计、创意表现、站点架构搭建以及后续访问监控、维护、网站托管运营反馈建议等提供整套服务。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.netcore授权的示例分析-创新互联
网页网址:http://scgulin.cn/article/epecg.html