Jwt添加用户角色
1.打开authoricate控制器
2.找到登陆api,接下来会将身份角色加入到claim中
一.claim解析
2.api的权限就是根据claim要求
//1.确定你是不是你也就是登陆,是有航空公司决定的,确定你后,发放登机牌
//2.确定你能坐什么舱是机组人员的来决定的
//3.登陆和授权严格区分
1.这样登陆和授权分开,就不用再验证发生改变后,也改变授权了
2.claim是对于所有身份验证体系而言,jwt只是其中一个应用
二.角色的使用
var claims = new[]
{
//sub
//第一个是id在jwt中有个专有名词sub ,第二个是用户的准确id,现在用的是假id
new Claim(JwtRegisteredClaimNames.Sub,"fake_user_id"),
//添加角色claim
new Claim(ClaimTypes.Role,"Admin")
};
2.在 api上加入角色限定
[HttpPost]
//上锁,除了登陆的用户无法访问
[Authorize(Roles ="Admin")]
三.请求api
1.然后将得到的token复制到header中,添加bearer+空格+token中
2.在body中添加数据
3.执行成功
四.验证admin起作用
1.在apicontroller中删除admin,重新生成token
2.重复上面操作,发现创建资源失败