2016-12-07 3 views
2

Я пытаюсь запустить веб-приложение, с помощью следующего маршрута отображенной:ASP.NET Основные Авторизоваться Перенаправление к неправильному URL

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

Если пользователь не прошел проверку подлинности и пытается получить доступ к деятельности, имеющей AuthorizeAttribute, то пользователь должен быть перенаправлен на URL-адрес входа по умолчанию (как показано выше). Но пользователь перенаправляется на «/ Account/Login» вместо «/ WoL/Account/Login». Как я могу перенаправить пользователя в «/ WoL/Account/Login», если пользователь не прошел аутентификацию? Я настроил следующую Authentication Cookie:

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

Вы пытаетесь установить '' CookiePath' к WoL'? Дополнительная информация в https://docs.microsoft.com/en-us/aspnet/coreie/default/cookie –

+2

Вы добавляете 'app.UseCookieAuthentication()' перед 'app.UseMvc()'? –

+2

Не могли бы вы отправить метод 'Configure' (весь код)? –

ответ

3

Это работает для меня (в Startup.ConfigureServices):

services.AddIdentity<User, UserRole>(options => 
{ 
    options.Cookies.ApplicationCookie.LoginPath = new PathString("/Admin/Account/Login"); 
}); 
Смежные вопросы