我在用着CookieAuthenticationOptions
在我的 .NET Core 应用程序中配置身份验证,但我的登录页面位于不同的域中。但是,那LoginPath
属性只允许内部路径,而不是完整的 URI。所以下面的代码:
var cookieOptions = new CookieAuthenticationOptions()
{
AuthenticationScheme = "Cookies",
LoginPath = new PathString("https://externaldomain.com/login"),
CookieName = string.Format("myCookie"),
};
app.UseCookieAuthentication(cookieOptions);
... 是无效的。这应该相当简单,还是我在这里遗漏了一些东西?我不想在我的应用程序内部处理这个问题并自己进行实际的重定向。那就有点蹩脚了。
接受的答案适用于 .NET Core 1.x。对于想要在 .NET Core 2.x 上实现它的任何人,请在 Startup.cs 上的 ConfigureServices 中使用以下内容:
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(o =>
{
o.Cookie.Name = "myCookie";
o.Events = new CookieAuthenticationEvents()
{
OnRedirectToLogin = (context) =>
{
context.HttpContext.Response.Redirect("https://externaldomain.com/login");
return Task.CompletedTask;
}
};
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)