在 ASP.NET Core 中,可以通过配置 ClaimsIdentityOptions 来设置 NameClaimType 和 RoleClaimType。以下是一个示例:
Startup.cs 文件中的 ConfigureServices 方法中添加以下代码来配置 ClaimsIdentityOptions:services.Configure(options =>
{
options.ClaimsIdentity.UserNameClaimType = "name";
options.ClaimsIdentity.RoleClaimType = "role";
});
ConfigureServices 方法中启用身份验证和授权:services.AddAuthentication()
.AddCookie(options =>
{
options.Cookie.Name = "YourCookieName";
options.LoginPath = "/Account/Login";
options.AccessDeniedPath = "/Account/AccessDenied";
});
services.AddAuthorization(options =>
{
options.AddPolicy("AdminOnly", policy => policy.RequireRole("Admin"));
});
Configure 方法中添加身份验证中间件和授权中间件:app.UseAuthentication();
app.UseAuthorization();
Authorize 属性来限制访问:[Authorize(Roles = "Admin")]
public IActionResult AdminPage()
{
return View();
}
请注意,上述代码只是一个示例,你需要根据你的实际需求进行相应的更改和调整。