asp.net core 2.0 web api基于JWT自定义策略授权
Posted dotNET跨平台
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了asp.net core 2.0 web api基于JWT自定义策略授权相关的知识,希望对你有一定的参考价值。
JWT(json web token)是一种基于json的身份验证机制,流程如下:
通过登录,来获取Token,再在之后每次请求的Header中追加Authorization为Token的凭据,服务端验证通过即可能获取想要访问的资源。关于JWT的技术,可参考网络上文章,这里不作详细说明,
这篇博文,主要说明在asp.net core 2.0中,基于jwt的web api的权限设置,即在asp.net core中怎么用JWT,再次就是不同用户或角色因为权限问题,即使援用Token,也不能访问不该访问的资源。
基本思路是我们自定义一个策略,来验证用户,和验证用户授权,PermissionRequirement是验证传输授权的参数。在Startup的ConfigureServices注入验证(Authentication),授权(Authorization),和JWT(JwtBearer)
自定义策略:
已封闭成AuthorizeRolicy.JWT nuget包,并发布到nuget上:
https://www.nuget.org/packages/AuthorizePolicy.JWT/
源码如下:
JwtToken.cs
/// <summary>
以上是关于asp.net core 2.0 web api基于JWT自定义策略授权的主要内容,如果未能解决你的问题,请参考以下文章 ASP.NET Core 2.0 中 Web API 的本地用户帐户存储 Asp.net Core 2.0 web api 基础框架 详解 用VSCode开发一个asp.net core2.0+angular5项目: Angular5+asp.net core 2.0 web api文件上传 asp.net core 2.0 web api基于JWT自定义策略授权 使用静态基类方案让 ASP.NET Core 实现遵循 HATEOAS Restful Web API 将 JWT Bearer Authentication Web API 与 Asp.Net Core 2.0 结合使用的问题 |