授权认证之[Authorize]入门

1.授权认证在企业级项目中的应用
①理解【Authorize】特性
②JWT组成和安全设计=>Token组成
③Claims声明的产生
④HttpContext上下文处理
⑤基于Role、Claims的授权
⑥基于Requirement的复杂授权
⑦分布式微服务下的统一鉴权
⑧认证中心的设计、单点登录
⑨微前端+微服务的门户网站设计
⑩其他应用技巧(数据权限、租户等)

2.导入依赖

<PackageReference Include="Microsoft.AspNetCore.Authentication.JwtBearer" Version="8.0.0" />

3.在控制层加[Authorize]注解
image

[Authorize]

4.在program.cs文件注册JWT服务
image

// 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服务(正常情况选择上面)
image

6.配置token值测试代码是否成功

Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJodHRwOi8vc2NoZW1hcy54bWxzb2FwLm9yZy93cy8yMDA1LzA1L2lkZW50aXR5L2NsYWltcy9uYW1lIjoiYmxvZ2FkbWluIiwianRpIjoiMSIsIlRlbmFudElkIjoiMCIsImlhdCI6IjE3MDU0MTM1NjgiLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL2V4cGlyYXRpb24iOiIyMDI0LzEvMjYgMTM6NTk6MjgiLCJodHRwOi8vc2NoZW1hcy5taWNyb3NvZnQuY29tL3dzLzIwMDgvMDYvaWRlbnRpdHkvY2xhaW1zL3JvbGUiOiJTdXBlckFkbWluIiwibmJmIjoxNzA1Mzg0NzY5LCJleHAiOjE3MDYyNDg3NjksImlzcyI6IkJsb2cuQ29yZSIsImF1ZCI6IndyIn0.Rpem8s5fE8j7Q_sMTnzmRK5UgtANZVIVEYbybbt9T54

image

posted @ 2025-08-20 15:49  一切为了尚媛小姐  阅读(24)  评论(0)    收藏  举报