码迷,mamicode.com
首页 > Web开发 > 详细

5.3Role和Claims授权「深入浅出ASP.NET Core系列」

时间:2018-11-22 23:49:47      阅读:428      评论:0      收藏:0      [点我收藏+]

标签:完成   asp.net   lse   uri   err   控制   blog   化学   asp   

希望给你3-5分钟的碎片化学习,可能是坐地铁、等公交,积少成多,水滴石穿,码字辛苦,如果你吃了蛋觉得味道不错,希望点个赞,谢谢关注。

Role授权

  这是一种Asp.Net常用的传统的授权方法,当我们在生成Token的时候,配置的ClaimTypes.Role为Admin,而ValuesController.cs是一个普通user(如下图所示),我们看下是否能访问成功?

  技术分享图片

   我们把生成的Token通过JWT官网验证一下,发现多了一个"role":"admin"

  技术分享图片

 

  Postman结果如下图所示,结果肯定是没有权限的!可以简单粗暴的说这就是Role授权,基于一组角色来进行授权:

  技术分享图片

Claims授权

  相比Role授权,更推荐大家使用Claims授权,这是.NET Core更推荐的授权方式,是传统没有的新东西。

  首先,我们要在Starup.cs的ConfigureServices()方法中配置如下代码:

  技术分享图片

  其次,我们要在生成token的时候配置Claims,同时在被访问的Controller上面配置Policy="Admin",如下所示:

  技术分享图片

  我们把生成的Token通过JWT官网验证一下,发现多了一个"Admin":"true"

    技术分享图片

  以上权限针对的是整个Controller,如果你想对该控制器内部某个方法开放匿名授权,也没有问题,只要配置如下代码即可。

  技术分享图片

  至此Claims授权就完成了,简单粗暴,此文只是一个引子,如果想了解更深入的自定义授权方式,可以浏览下面的参考文献。

参考文献:

 Using Roles with the ASP.NET Core JWT middleware

 Claims-based authorization in ASP.NET Core

  

  

 

5.3Role和Claims授权「深入浅出ASP.NET Core系列」

标签:完成   asp.net   lse   uri   err   控制   blog   化学   asp   

原文地址:https://www.cnblogs.com/jackyfei/p/9998918.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!