Перенаправлять неавторизованных пользователей в пользовательское представление входа в систему [Asp.net Core 5]

Я использую Identity в Asp.net Core 5 проекте, ориентированном на .Net 5. Как вы знаете, когда Controller as Authorize любой пользователь пытается получить доступ к любому view в контроллере, Identity перенаправляет его на /Identity/Account/Login страницу razor, поэтому я создал свой собственный контроллер входа с представлениями.

Вопрос: я хочу, чтобы unauthorized пользователи перенаправлялись на мое пользовательское login представление, как я могу это сделать?

Что я пробовал. В метод ConfigureServices класса Startup я добавил этот фрагмент кода:

        services.AddAuthentication( CookieAuthenticationDefaults.AuthenticationScheme )
                .AddCookie( options =>
                            {
                                options.LoginPath = "/Login";

                            } );

        services.AddControllersWithViews();

Но все еще не работает, пользователи по-прежнему перенаправляются на /Identity/Account/Login, и я хочу, чтобы они перешли на мой пользовательский login view.


person JOCKH    schedule 12.04.2021    source источник
comment
Используйте метод ConfigureApplicationCookie(): docs.microsoft.com/en-us/dotnet/api/   -  person Martin Costello    schedule 12.04.2021
comment
Большое спасибо, братан, это работает ‹3   -  person JOCKH    schedule 12.04.2021
comment
Отвечает ли это на ваш вопрос? Где вы настраиваете в ASP.NET Core перенаправить на логин?   -  person LazZiya    schedule 12.04.2021


Ответы (1)


В моем случае я заменил свой старый код на:

    services.ConfigureApplicationCookie( options =>
                                         {
                                             options.LoginPath = "/Login";

                                         } );

Спасибо Мартину Костелло

person JOCKH    schedule 12.04.2021