在 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();
}
请注意,上述代码只是一个示例,你需要根据你的实际需求进行相应的更改和调整。