我有2个控制器
他们都使用[Authorize]
属性和默认身份登录:电子邮件和密码。
我的问题:如何将所有通过TestControoler的未经身份验证的请求重定向到TestAccountController / Login,并将所有转到DemoController的请求重定向到DemoAccountController / Login?
之所以这样,是因为我想拥有2个用于2个不同目的的登录环境。
答案 0 :(得分:4)
ASP.net核心支持多种身份验证方案。
您可以通过将以下内容添加到Startup.cs中来添加两个
services.AddAuthentication()
.AddCookie("scheme1", options => { options.LoginPath = "/login1"; })
.AddCookie("scheme2", options => { options.LoginPath = "/login2"; });
然后指定要在控制器中使用的方案:
[Authorize(AuthenticationSchemes = "scheme1")]
public sealed class SampleController : Controller
{
//...
}