如何解决在 ASP.NET Core 中重命名 AccountController
在我的 ASP.NET Core MVC 应用程序中,我想将 AccountController
重命名为其他名称(“登录”、“授权”,具体名称无关紧要)。
但是当我这样做时,该站点仍然尝试路由到 /Account/Login
,即使没有这样的东西。我需要做什么才能阻止这种情况并让它使用正确的路线?
我在 options.LoginPath
中设置了 services.ConfigureApplicationCookie
,但这似乎并没有改变。
这是我的配置设置:
services.ConfigureApplicationCookie(options =>
{
options.Cookie.Path = "/";
options.AccessDeniedpath = new PathString($"/{nameof(Errors)}/{nameof(Errors.Access_Denied)}");
options.ExpireTimeSpan= TimeSpan.FromMinutes(5); // note: testing to see if this enforces logout based on minutes of idle time
options.SlidingExpiration = true;
options.LoginPath = new PathString($"/{nameof(Authorization.Authorization)}/{nameof(Authorization.Authorization.Login)}");
});
有什么建议吗? (如果他们让你感到困惑,请忽略电话名称)
解决方法
在具有自定义身份验证的 Core 3.1 项目中,我在 Startup#ConfigureServices 中像这样指定 LoginPath
和 LogoutPath
:
services.AddAuthentication(options =>
{
options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme;
})
.AddCookie(options =>
{
options.Cookie.Name = ...
options.Cookie.Path = "/";
options.LoginPath = "/Login";
options.LogoutPath = "/Logout";
options.AccessDeniedPath = ...;
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。