嗨,伙计们,除了基础知识外,我对路由的了解不多。
我正在尝试将起始页设为 ASP.Net Core 2.0 中的登录页。
这是我在 Startup.cs 中的配置:
services.ConfigureApplicationCookie(options =>
{
// Cookie settings
options.Cookie.HttpOnly = true;
options.ExpireTimeSpan = TimeSpan.FromMinutes(30);
options.LoginPath = "/Account/Login";
options.LogoutPath = "/Account/Logout";
options.AccessDeniedPath = "/Account/AccessDenied";
options.SlidingExpiration = true;
});
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{Controller=Account}/{action=Login}/{id?}");
});
我的理解是这应该带我到登录页面。但是 /Identity/Account/Login 带我进入登录页面,上面的方法不起作用。
需要方向。谢谢 :)
你的问题不清楚。我有理由确定您实际上并不希望登录页面成为您的“起始页”(即,如果您只是转到没有路径的域,则为默认页面),而是让您的“起始页”需要身份验证并在未通过身份验证时自动重定向到您的登录页面。
在那里,您似乎只是误解了路由的工作原理。为您的应用程序 cookie 设置指定的 URL 不会神奇地使您的页面出现在那里。它只是静态地告诉框架在这些条件下重定向到哪里。您仍然必须实际响应该特定路由,否则您将收到 404。默认情况下,身份页面在/Identity
. 如果你想改变这一点,你需要将它们搭建到你的项目中,然后将它们移动到Pages
项目级别的主文件夹中,或者添加一个带有@page
声明的显式路由:
@page "/Account/Login"
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句