在ASP.Net Core 6 Razor Pages中,可以通过以下步骤来创建反权限策略。
1.在Startup.cs文件中的ConfigureServices方法中添加以下代码:
services.AddAuthorization(options => { options.AddPolicy("AntiPermissionPolicy", builder => { builder.RequireRole("admin"); }); });
这个代码片段将创建一条名为“AntiPermissionPolicy”的策略,该策略要求用户在具有“admin”角色的情况下才能访问。
2.在需要应用该策略的Razor Page中,在[Authorize]属性之后添加以下内容:
[Authorize(Policy = "AntiPermissionPolicy")]
这将确保只有满足上述条件的用户才能访问该页面。
完整代码示例:
Startup.cs:
public void ConfigureServices(IServiceCollection services) { services.AddRazorPages(); services.AddAuthorization(options => { options.AddPolicy("AntiPermissionPolicy", builder => { builder.RequireRole("admin"); }); }); }
Page.cshtml.cs:
[Authorize(Policy = "AntiPermissionPolicy")] public class AntiPermissionPageModel : PageModel { public void OnGet() { } }