我的ASP.NET核心应用程序要求用户登录。我创建了一个公益行动方法,允许匿名用户即自动重定向到公共视图
[AllowAnonymous]
public IActionResult Public()
{
return View();
}
因为在我Startup.cs我需要身份验证,用户被自动重定向到登录页面。
我想改变的行为,并自动将用户重定向到公共页面,并让他们点击一个链接登录。
如何将我的用户重定向到公共页面而不是登录页面?在App_Start
我的ASP.NET核心应用程序要求用户登录。我创建了一个公益行动方法,允许匿名用户即自动重定向到公共视图
[AllowAnonymous]
public IActionResult Public()
{
return View();
}
因为在我Startup.cs我需要身份验证,用户被自动重定向到登录页面。
我想改变的行为,并自动将用户重定向到公共页面,并让他们点击一个链接登录。
如何将我的用户重定向到公共页面而不是登录页面?在App_Start
只是改变默认映射:
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters*
new { controller = "Public", action = "Public",
id = UrlParameter.Optional }
);
您的评论后,我想这会回答您的需求:
services.Configure<IdentityOptions>(options =>
{
options.Cookies.ApplicationCookie.LoginPath = new PathString("/Home/Public");
});
将其添加到启动的ConfigureServices
方法。 cs
为什么不把'LoginPath'改成'/ home/public /'?该框架将自动将未经身份验证的用户(具有“授权”属性的操作)发送到此路径。 – martennis