NetCore使用Jwtbearer给WebAPI添加访问控制

现在JWT代替session来做访问控制已经成为大部分webapi的做法,今天我们也来尝试一下

WebAPI使用NetCore2.1创建,无身份认证信息

640?wx_fmt=png

nuget安装包

IdentityModel 选择稳定版3.9.0Microsoft.AspNetCore.Authorization 版本2.1.1Microsoft.AspNetCore.Authentication.JwtBearer 版本2.1.1

 

640?wx_fmt=png

 Startup注入服务

640?wx_fmt=png

之后验证用户返回token信息

新建TokenController的WebAPI控制器

根据用户post的用户账号和密码从数据库查询数据

这里我们加入根据账号密码从db匹配到了数据

然后返回token数据

上下代码标红部分需要保持一致,这个是token需要用来做校验的,如果不一致可能出现token无效 签名无效等问题

640?wx_fmt=png

PostMan测试获取token 640?wx_fmt=png

这样可以成功获取token,下面来做权限校验

在需要授权的api上新增 [Authorize] 标记

 比如万年values控制器

640?wx_fmt=png

我们分别使用携带token和不携带token访问values接口

1 携带token访问,返回了想要的数据

640?wx_fmt=png

 

 2 未携带token,返回401

 640?wx_fmt=png

 

这样就达到了我们想要的效果,以上做个记录.

简单的demo

github:https://github.com/ermpark/authapidemo

原文地址:https://www.cnblogs.com/weipengpeng/p/9651336.html


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

640?wx_fmt=jpeg

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/319920.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图论复习——网络流

最大流 与 最小费用最大流 Blog 有上下界网络流 Blog 最小割 Blog 模拟费用流 CF724E Goods transportation 摘自此Blog 建图优化 若同一行或者同一列的点互相可达,那么其实不需要两两连边,只需要对于每行和每列建一个辅助节点作为中转 [ARC…

【分块】区间众数(金牌导航 分块-1)

区间众数 金牌导航 分块-1 题目大意 给出一个数列,和若干询问,每个询问让你求一个区间内的众数 输入样例 6 3 1 2 3 2 1 2 1 5 3 6 1 5输出样例 1 2 1数据范围 1⩽N⩽4104,1⩽M⩽5104,1⩽ai⩽1091\leqslant N \leqslant 4\times 10^4,1\leqs…

CF235C-Cyclical Quest【SAM】

正题 题目链接:https://www.luogu.com.cn/problem/CF235C 题目大意 一个文本串sss。询问nnn个匹配的本质不同的循环同构在文本串中出现了几次。 解题思路 我们匹配完原串之后,相当与每次在头部删去一个字符然后又在末尾加上一个字符。使用SAMSAMSAM匹配的话&…

离散大创项目——图片识别笔记

1.我才知道ainput()读入的竟然是字符串。。。还要强制转化成int型,这玩意搞了我好久 2.对照片进行裁剪,将照片周围多余的白色部分去除(也就是让图像尽可能撑满整个框) 由上一张裁成下一张 from PIL import Image import os SCA…

最小割小记

参考博客:最小割浅谈 关于最小割 常用描述 表述一:删去若干条边使得源点到汇点不连通,求删边的权值和的最小可能值。 表述二:将点集分为(S,T)(S,T)(S,T),记所有从SSS中出发到TTT中的边的权值和为c(S,T)c(S,T)c(S,T)&a…

CF204E-Little Elephant and Strings【广义SAM,线段树合并】

正题 题目链接:https://www.luogu.com.cn/problem/CF204E 题目大意 nnn个字符串的一个字符串集合,对于每个字符串求有多少个子串是这个字符串集合中至少kkk个字符串的子串。 解题思路 因为对于每个字符串我们需要维护的信息不同,不能累加,所…

【莫队】区间不同数(金牌导航 莫队-1)

区间不同数 金牌导航 莫队-1 题目大意 给出n个数,然后询问m次,每次询问一个区间内不同的数的个数 样例输入 6 1 2 3 4 3 5 3 1 2 3 5 2 6样例输出 2 2 4数据范围 1⩽n⩽5104,1⩽m⩽2105,0⩽ai⩽1061\leqslant n\leqslant 5\times 10^4,1\leqslant …

斐波那契数列求法

文章目录求斐波那切数列的几个方法:经典做法:递推:动态规划矩阵快速幂原理:代码:例题:模拟过程求斐波那切数列的几个方法: 经典做法: 众所周知:斐波那契数列的定义是f(…

ASP.Net Core2.1中的HttpClientFactory系列一

引言:ASP.NET Core2.1 中出现了一个新的 HttpClientFactory 功能, 它有助于解决开发人员在使用 HttpClient 实例从其应用程序中访问外部 web 资源时可能遇到的一些常见问题。关于HttpClientFactory 到底解决了那些HttpClient的严重问题,下面是我罗列出来…

欧拉回路哈密顿回路

欧拉回路 总结 百度百科 混合图的欧拉回路 Fleury算法 Hierholzer算法 //寻找无向图的欧拉路径 #include<iostream> #include<vector> #include<stack> using namespace std; vector<int> g[1001]; int n,m,x,y,d[1001],s-1,t-1; bool vis[1001][100…

【CDQ分治】三维偏序(luogu 3801/金牌导航 CDQ分治-1)

三维偏序 luogu 3801 金牌导航 CDQ分治-1 题目大意 有n个元素&#xff0c;第i个元素有ai,bi,cia_i,b_i,c_iai​,bi​,ci​三个属性&#xff0c;设 f(i)表示满足aj⩽aia_j\leqslant a_iaj​⩽ai​且bj⩽bib_j \leqslant b_ibj​⩽bi​且cj⩽cic_j \leqslant c_icj​⩽ci​且…

P4929-[模板]舞蹈链(DLX)

正题 题目链接:https://www.luogu.com.cn/problem/P4929 题目大意 n∗mn*mn∗m的矩形有0/10/10/1&#xff0c;要求选出若干行使得每一列有且仅有一个111。 解题思路 精确覆盖问题指的是一个集合SSS和它的若干个子集集合TTT&#xff0c;要求选出TTT的一个子集使得里面的集合元…

最大子矩阵(普通和01)

文章目录普通矩阵&#xff08;单个矩阵值为任何数&#xff09;最大子段和扩展到二维情况01矩阵&#xff08;单个矩阵值为0或1&#xff09;代码&#xff1a;普通矩阵&#xff08;单个矩阵值为任何数&#xff09; 例题&#xff1a;POJ 1074 求出其中最大的子矩阵 答案是&#x…

自动化流程开源框架BotSharp

BotSharp是一款为方便构建智能对话机器人平台而开发的开源框架&#xff0c;最大的特点是所有模型算法都是基于.NET Core开发实现&#xff0c;甚至最基本的Penn Treebank分词标准&#xff0c;都重新用C#实现了。在机器学习python占绝对优势的时代算是不可多得的项目。该项目涉及…

二分图匹配

定义&#xff1a; 二分图&#xff1a;一个图被分成了两部分&#xff0c;相同的部分没有边 匹配&#xff1a;二分图G的子图M中&#xff0c;M的边集{E}中的任意两条边都不指向同一个顶点 极大匹配&#xff1a;在当前已完成的匹配下,无法再通过增加未完成匹配的边的方式来增加匹…

【整体二分】区间第k小(金牌导航 整体二分-1)

区间第k小 金牌导航 整体二分-1 题目大意 给出一个序列&#xff0c;有若干查询&#xff0c;每次查询给出l,r,k&#xff0c;让你求l~r这个区间的第k大 输入样例 7 3 1 5 2 6 3 7 4 2 5 3 4 4 1 1 7 3输出样例 5 6 3数据范围 1⩽n⩽105,1⩽m⩽50000,1⩽∣ai∣⩽1091\leqsla…

积极参与开源项目,促进.NET Core生态社区发展

今天早上在微信群里聊天聊到百度的SDK 已经支持.NET Core, 百度已经在3月份就支持了&#xff0c;想起当时还是我在他们的github上提的issue&#xff1a; https://github.com/Baidu-AIP/dotnet-sdk/issues/3。.NET Core生态社区的发展已经四年多时间&#xff0c;日趋完善&#x…

P6091-[模板]原根

正题 题目链接:https://www.luogu.com.cn/problem/P6091 题目大意 给出一个数ppp&#xff0c;求出它的所有在[0,p][0,p][0,p]的原根。 解题思路 原根的定义&#xff0c;δp(a)\delta_p(a)δp​(a)表示一个最小的nnn使得an≡1(modp)a^n\equiv1(mod\ p)an≡1(mod p)&#xff0…

并查集小记

有什么用&#xff1a; 查询元素a和元素b是否属于同一组 合并元素a和元素b所在组 代码实现&#xff1a; #include<iostream> using namespace std; int n,m,p; int fa[5001]; int find(int x){if(fa[x]x) return x;else{return fa[x]find(fa[x]);} } int main(){cin&g…

Poj 1011 UVA - 307 Sticks

牛客网 poj 1011 题目&#xff1a; George took sticks of the same length and cut them randomly until all parts became at most 50 units long. Now he wants to return sticks to the original state, but he forgot how many sticks he had originally and how long th…