我正在try 重定向到ASP中的其他登录url.净MVC6
我的帐户控制器登录方法有一个Route
属性来更改url.
[HttpGet]
[AllowAnonymous]
[Route("login")]
public IActionResult Login(string returnUrl = null)
{
this.ViewData["ReturnUrl"] = returnUrl;
return this.View();
}
当我试图访问一个不受限制的页面时,我被重定向到无效的url,它应该只有
/login
,但我得到了
我已将cookie身份验证路径配置如下:
services.Configure<CookieAuthenticationOptions>(opt =>
{
opt.LoginPath = new PathString("/login");
});
我添加了一个默认的过滤,以确保默认情况下所有URL都需要身份验证.
services.AddMvc(
options =>
{
options.Filters.Add(new AuthorizeFilter(new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build()));
});
我已经判断过,url /login
确实加载了登录页面,而/account/login
没有加载,这与预期的一样.
edit:我保留了路由(除了更改默认控制器和操作)
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Site}/{action=Site}/{id?}");
});