Jwt添加用户角色

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.重复上面操作,发现创建资源失败
在这里插入图片描述

posted @ 2021-08-23 20:35  有诗亦有远方  阅读(68)  评论(0)    收藏  举报  来源