在ASP.NET Core中,web.config文件不再用于配置授权规则。相反,授权规则是在Startup类的ConfigureServices方法中配置的。
以下是一个示例,演示如何在ASP.NET Core中配置授权规则:
public class Startup
{
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
services.AddAuthorization(options =>
{
options.AddPolicy("RequireAdminRole", policy =>
policy.RequireRole("Admin"));
options.AddPolicy("RequireUserRole", policy =>
policy.RequireRole("User"));
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
// ...
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
// ...
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
});
}
}
在上面的示例中,我们在ConfigureServices方法中使用AddAuthorization方法配置了两个授权策略。其中,"RequireAdminRole"策略要求用户必须具有"Admin"角色,"RequireUserRole"策略要求用户必须具有"User"角色。
在Configure方法中,我们使用了UseAuthentication和UseAuthorization中间件来启用授权。这样,当请求到达时,将会自动应用授权规则。
请注意,上述示例是ASP.NET Core的通用方法,不依赖于web.config文件。