【发布时间】:2020-01-25 23:45:45
【问题描述】:
我在登录 ASP.NET Core 3.0 应用时遇到问题。
基本上,我希望登录页面位于
mywebsite.com/login
而不是
mywebsite.com/SomerandomRoute/SomeMore/WhyNot/MakeTheUrl/EvenLonger/Identity/Cookies/DefaultIdentity/Pages/Sections/Defaults/Identity/LoginRouteController
默认设置。所以我在身份登录.cshtml文件中添加了@page "/login",当点击顶部导航中的“登录”时它可以工作。
问题是,仅凭这一点,从受保护的页面重定向是行不通的。例如,如果我没有登录并转到帐户设置 URL,我会被重定向到一个很长的 URL,而不是 /login。而且这条路线现在不存在了。
在我的 2.2 应用中我可以
services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme)
.AddCookie(options =>
{
options.LoginPath = "/login";
});
它会工作,但在这个 3.0 应用程序中,它会完全破坏登录。提交登录表单只是重定向到索引并且用户没有登录。
我尝试寻找 2.2 和 3.0 之间的重大更改,但似乎没有说明我的特定问题。
【问题讨论】:
标签: asp.net razor-pages asp.net-core-3.0