课程进度 65% · 第7/10章第7/10章 · 标签 1/2
— 1 —
JWT身份认证
JWT(JSON Web Token)是无状态的认证方案,广泛应用于API安全保护。
csharp
1
// 配置 JWT 认证
2
builder.Services.AddAuthentication("Bearer")
3
.AddJwtBearer(options => {
4
options.TokenValidationParameters =
5
new TokenValidationParameters {
6
ValidateIssuer = true,
7
ValidateAudience = true,
8
ValidateLifetime = true,
9
ValidIssuer = "MyApp",
10
ValidAudience = "MyAppUsers",
11
IssuerSigningKey = new SymmetricSecurityKey(
12
Encoding.UTF8.GetBytes("your-secret-key-here"))
13
};
14
});
!密钥需要足够复杂,生产环境建议使用非对称加密(RSA)并从安全存储读取
— 2 —
授权策略
通过 [Authorize] 特性控制API访问权限,支持角色和策略授权。
csharp
1
// 角色授权
2
[]
3
public IActionResult AdminOnly() { ... }
4
5
// 策略授权
6
builder.Services.AddAuthorization(options => {
7
options.AddPolicy("RequireAdmin",
8
policy => policy.RequireRole("Admin"));
9
});
10
11
[]
12
public class AdminController : ControllerBase { ... }
13
14
// 获取当前用户信息
15
var userId = User.FindFirst(ClaimTypes.NameIdentifier)?.Value;
JWTOAuth2认证授权Bearer安全