1. ASP.NET Core 身份验证和授权验证的功能由Authentication,Authorization中间件提供 :app.UseAuthentication(),app.UseAuthorization()。
2. 控制器类上标注[Authorzie]的控制器则所有的操作方法都会被进行身份验证和授权验证,对于对标注了[Authorize]的控制器类,如果某个方法不想被任何验证,可以在操作方法上添加 [AllowAnonymous];
ps:不标注Authorzie的可以随意访问 ;
3. ASP.NET Core 会按照HTTP协议的规范,从Authorization中取出来令牌 token,并且进行校验,解析结果填充到User属性中,这一切都是ASP.NET Core 完成的, 不需要开发人员自己写代码,但是出现 401 错误的报错信息很难排查;
4. 控制方法不只是先登录由了token 还要请求是管理员登录才能调用的接口,即普通用户访问 403 没有权限访问这个接口,
方案:添加 new Claim 的时候架上 name 为 Role value 是 admin ;claim.Add(new Claim(ClaimTypes.Roles, "admin")); 然后在方法上添加 [Authorize(Roles = 'admin')]; [ RBAC ]
标签:Core,控制器,ASP,封装,admin,jwt,JWT,NET From: https://www.cnblogs.com/zhulongxu/p/17810255.html