Core 2 Razor AccesDeniedPath
Core 2 Razor AccesDeniedPath
我正在关注一个 Connect() 视频,其中他们正在保护核心 2 MVC 应用程序。在其中,他们添加了 AccessDeniedPath 和 LoginPath
的选项
但是,我使用 Razor 而不是 MVC,并让 VS 使用数据库为模式生成登录代码。我的代码如下所示:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddIdentity<ApplicationUser, MyRole>()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
services.AddMvc(options =>
{
options.Filters.Add(new RequireHttpsAttribute());
options.Filters.Add(new AutoValidateAntiforgeryTokenAttribute());
})
.AddRazorPagesOptions(options =>
{
options.Conventions.AuthorizeFolder("/Account/Manage");
options.Conventions.AuthorizePage("/Account/Logout");
});
}
无法在 AddMvc、AddRazorpagesOptions 或 AddIdentity 中添加 AccessDeniedPath。
如有任何建议,我们将不胜感激。
API 用于配置应用程序 cookie 选项已从 ASP.NET 核心 1.x 更改为 2.x
services.ConfigureApplicationCookie(opts =>
{
opts.LoginPath = "/Home/ErrorForbidden";
opts.AccessDeniedPath = "/Home/ErrorLoggedIn";
});
阅读
Migrating Authentication and Identity to ASP.NET Core 2.0 获取更多信息。
我正在关注一个 Connect() 视频,其中他们正在保护核心 2 MVC 应用程序。在其中,他们添加了 AccessDeniedPath 和 LoginPath
的选项但是,我使用 Razor 而不是 MVC,并让 VS 使用数据库为模式生成登录代码。我的代码如下所示:
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddIdentity<ApplicationUser, MyRole>()
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultTokenProviders();
services.AddMvc(options =>
{
options.Filters.Add(new RequireHttpsAttribute());
options.Filters.Add(new AutoValidateAntiforgeryTokenAttribute());
})
.AddRazorPagesOptions(options =>
{
options.Conventions.AuthorizeFolder("/Account/Manage");
options.Conventions.AuthorizePage("/Account/Logout");
});
}
无法在 AddMvc、AddRazorpagesOptions 或 AddIdentity 中添加 AccessDeniedPath。
如有任何建议,我们将不胜感激。
API 用于配置应用程序 cookie 选项已从 ASP.NET 核心 1.x 更改为 2.x
services.ConfigureApplicationCookie(opts =>
{
opts.LoginPath = "/Home/ErrorForbidden";
opts.AccessDeniedPath = "/Home/ErrorLoggedIn";
});
阅读 Migrating Authentication and Identity to ASP.NET Core 2.0 获取更多信息。