asp.net core 授权详解
程序员文章站
2022-03-07 13:21:12
iauthorizedate接口代表了授权系统的源头:
public interface iauthorizedata
{
string policy { get;...
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 授权的知识点内容
上一篇: js利用iframe实现选项卡效果
下一篇: 第七章 中断和中断处理
推荐阅读
-
Asp.net Core 初探(发布和部署Linux)
-
Asp.net Core 3.1基于AspectCore实现AOP实现事务、缓存拦截器功能
-
用例子看ASP.NET Core Identity是什么?
-
asp.net core 2.0 webapi集成signalr(实例讲解)
-
Hangfire在ASP.NET CORE中的简单实现方法
-
asp.net web页面自定义分页控件使用详解
-
vue实现微信授权登录步骤详解
-
Asp.net Core应用程序在Linux上部署的图文详解
-
asp.net类序列化生成xml文件实例详解
-
浅谈MySQL中授权(grant)和撤销授权(revoke)用法详解