在 ASP.NET Core 6 MVC 中,有时需要动态创建授权策略,以便在运行时根据特定条件对用户进行授权。以下是一种常见的方法:
public class CustomRequirement : IAuthorizationRequirement { }
services.AddAuthorization(options => { options.AddPolicy("CustomPolicy", policy => policy.Requirements.Add(new CustomRequirement())); });
[Authorize(Policy = "CustomPolicy")] public IActionResult Index() { // 进行操作 }
var customPolicyName = "CustomPolicy"; var requirement = new CustomRequirement(); var policy = new AuthorizationPolicyBuilder().AddRequirements(requirement).Build();
var authService = HttpContext.RequestServices.GetService
通过以上步骤,可以在 ASP.NET Core 6 MVC 中动态创建授权策略,实现更灵活的权限控制。