在ASP.NET Core中,可以通过以下配置设置登录路径:
在Startup.cs文件中的ConfigureServices方法中添加以下代码:
services.ConfigureApplicationCookie(options =>
{
options.LoginPath = "/Account/Login"; //修改登录路径
});
这里的"/Account/Login"指的是登录页面的URL。如果在程序中修改了登录页面的URL,需要修改上述代码中的值。
如果以上代码仍然不能解决问题,可以通过以下方式进行调试:
确认是否使用了UseStatusCodePagesWithRedirects()方法。该方法会将没有经过授权的请求重定向到登录页面,但是该方法会在URL上添加一个返回码(如:/?ReturnUrl=%2FHome%2FIndex)。如果使用该方法,请改用UseStatusCodePagesWithReExecute()方法。
确认是否使用了UseMvc()方法。如果没有使用该方法,需要添加该方法并配置路由。
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
通过配置路由,可以确保登录页面的URL可以被正确地解析。
上一篇:Asp.NetCore的模型绑定从2.2版本变化到了3.0版本吗?
下一篇:ASP.NETCore登录时,EFCore生成的集合导航属性抛出“InvalidOperationException:Nullableobjectmustreturnavalue异常。