asp.net core 授权详解

2025-05-29 0 56

IAuthorizeDate接口代表了授权系统的源头:

?

1

2

3

4

5

6
public interface IAuthorizeData

{

string Policy { get; set; }

string Roles { get; set; }

string AuthenticationSchemes { get; set; }

}

接口中定义的三个属性分别代表了三种授权类型:

1、基于角色的授权

?

1

2

3

4

5
[Authorize(Roles = "Admin")] // 多个Role可以使用,分割

public class SampleDataController : Controller

{

...

}

2、基于scheme的授权

?

1

2

3

4

5
[Authorize(AuthenticationSchemes = "Cookies")] // 多个Scheme可以使用,分割

public class SampleDataController : Controller

{

...

}

3、基于策略的授权

?

1

2

3

4

5
[Authorize(Policy = "EmployeeOnly")]

public class SampleDataController : Controller

{

}

基于策略的授权授权的核心,使用这种授权策略时,首先要定义策略:

?

1

2

3

4

5

6

7

8

9
public void ConfigureServices(IServiceCollection services)

{

services.AddMvc();

services.AddAuthorization(options =>

{

options.AddPolicy("EmployeeOnly", policy => policy.RequireClaim("EmployeeNumber"));

});

}

授权策略本质上就是对claims的一系列断言。

而基于角色和基于scheme的授权都是一种语法糖,最终会转换为策略授权

以上就是关于asp.net core 授权的知识点内容,如果大家有任何疑问可以联系快网idc小编。

原文链接:https://www.cnblogs.com/pangjianxin/p/12217123.html

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 asp.net core 授权详解 https://www.kuaiidc.com/98648.html

相关文章

发表评论
暂无评论