当前位置: 移动技术网 > IT编程>开发语言>.net > asp.net core 授权详解

asp.net core 授权详解

2020年03月09日  | 移动技术网IT编程  | 我要评论

产后多久可以喝鸡汤,定鼎园林网,集美大学是几本

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 授权的知识点内容

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网