ASP.NET Core 2
帮助我为两条路线配置AddAuthentication
:用户(用户帐户)和管理区域。
例如,如果用户未登录并尝试输入/Account/Orders/
,则会将其重定向到/Account/SignIn/
。
但是,如果有人尝试访问/Admin/Orders/
,则必须重定向到/Admin/Signin/
没有找到解决方案ATM。
答案 0 :(得分:5)
解决!
在admin
区域(控制器)中,我们使用Authorize attr。 arg。:[Authorize(AuthenticationSchemes = "backend")]
,那就是。
BTW我们可以通过访问AddCookie的选项和事件中的HttpContext进行任何调整。
配置:
services
.AddAuthentication(o =>
{
o.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
})
.AddCookie(CookieAuthenticationDefaults.AuthenticationScheme, o =>
{
o.LoginPath = new PathString("/account/login/");
})
.AddCookie("backend", o =>
{
o.LoginPath = new PathString("/admin/account/login/");
});