授权认证之[Authorize]入门
1.授权认证在企业级项目中的应用
①理解【Authorize】特性
②JWT组成和安全设计=>Token组成
③Claims声明的产生
④HttpContext上下文处理
⑤基于Role、Claims的授权
⑥基于Requirement的复杂授权
⑦分布式微服务下的统一鉴权
⑧认证中心的设计、单点登录
⑨微前端+微服务的门户网站设计
⑩其他应用技巧(数据权限、租户等)
2.导入依赖
<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.0" />
3.在控制层加[Authorize]注解

[Authorize]
4.在program.cs文件注册JWT服务

// JWT
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme).AddJwtBearer(options =>
{
options.TokenValidationParameters = new TokenValidationParameters
{
// 是否验证 发行人(iss)
ValidateIssuer = true,
// 是否验证 受众(aud)
ValidateAudience = true,
// 是否验证 有效期(nbf, exp)
ValidateLifetime = true,
// 是否验证 签名密钥是否可信
ValidateIssuerSigningKey = true,
// 发行人
ValidIssuer = "Blog.Core",
// 使用者
ValidAudience = "wr",
// 密钥
IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("sdfsdfsrty45634kkhllghtdgdfss345t678fs"))
};
});
5.因为教程给的token值已过期,为了测试是否通过,修改jwt服务(正常情况选择上面)

6.配置token值测试代码是否成功
Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiYmxvZ2FkbWluIiwianRpIjoiMSIsIlRlbmFudElkIjoiMCIsImlhdCI6IjE3MDU0MTM1NjgiLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL2V4cGlyYXRpb24iOiIyMDI0LzEvMjYgMTM6NTk6MjgiLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3JvbGUiOiJTdXBlckFkbWluIiwibmJmIjoxNzA1Mzg0NzY5LCJleHAiOjE3MDYyNDg3NjksImlzcyI6IkJsb2cuQ29yZSIsImF1ZCI6IndyIn0.Rpem8s5fE8j7Q_sMTnzmRK5UgtANZVIVEYbybbt9T54


浙公网安备 33010602011771号