2016-12-07 51 views
2

我试图运行与映射以下的路径,一个Web应用程序:如果用户没有通过验证ASP.NET核心授权重定向到错误的URL

 app.UseMvc(routes => 
     { 
      routes.MapRoute(
       "default", 
       "WoL/{controller=Account}/{action=Login}/{id?}"); 
     }); 

,并试图访问具有AuthorizeAttribute一个动作,用户应该被重定向到默认的登录URL(如上所示)。但用户被重定向到“/账户/登录”而不是“/ WoL /账户/登录”。如果用户未通过身份验证,如何将用户重定向到“/ WoL/Account/Login”?我已经配置了以下Cookie身份验证:

 app.UseCookieAuthentication(new CookieAuthenticationOptions 
     { 
      LoginPath = new PathString("/WoL/Account/Login"), 
      AutomaticChallenge = true 
     }); 
+0

你尝试设置'CookiePath'为'WoL'?更多信息在https://docs.microsoft.com/en-us/aspnet/core/security/authentication/cookie –

+2

您是否在'app.UseMvc()'之前添加了'app.UseCookieAuthentication()'? –

+2

你可以发布'配置'方法(所有的代码)? –

回答

3

这个工作对我来说(在Startup.ConfigureServices):

services.AddIdentity<User, UserRole>(options => 
{ 
    options.Cookies.ApplicationCookie.LoginPath = new PathString("/Admin/Account/Login"); 
}); 
相关问题