ASP.Net Core 提供了内置的用户身份验证和授权功能。可以使用这些功能来找到用户的角色。下面是一个简单的示例:
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication("MyScheme")
.AddCookie("MyScheme", options =>
{
options.AccessDeniedPath = "/Account/Forbidden/";
options.LoginPath = "/Account/LogIn/";
});
services.AddAuthorization(options =>
{
options.AddPolicy("AdminOnly", policy => policy.RequireRole("Admin"));
});
}
[Authorize]
public class MyController : Controller
{
[Authorize(Policy = "AdminOnly")]
public IActionResult MyAction()
{
// Only admin users can access this action
}
}
@using Microsoft.AspNetCore.Authorization
@if (User.Identity.IsAuthenticated && User.IsInRole("Admin"))
{
Welcome, admin user!
}
else
{
You are not authorized to view this content.
}