2016-12-07 49 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"); 
}); 
相關問題