在ASP.NET Core 5.0中,我们可以非常方便地自定义授权策略来对用户进行鉴权控制。下面是一个基本的示例:
services.AddAuthorization(options =>
{
options.AddPolicy("CustomPolicy", policy =>
{
policy.RequireClaim("CustomClaim");
policy.RequireRole("Admin");
});
});
[Authorize(Policy = "CustomPolicy")]
public IActionResult CustomPolicyAction()
{
return View();
}
if (User.Identity.IsAuthenticated)
{
bool isAuthorized = await _authorizationService.AuthorizeAsync(User, "CustomPolicy");
if (isAuthorized)
{
// 执行权限内操作
}
}
使用以上方法,我们可以轻松地实现ASP.NET Core 5.0自定义权限控制。