Asp Net Ядро с удостоверением не работает после удаления HTTPS - PullRequest
0 голосов
/ 28 мая 2020

Я пытался удалить HTTPS, чтобы протестировать некоторые функции кеширования, и моя аутентификация перестала работать. Я читал, что при использовании аутентификации Identity перестанет работать без HTTP, даже настраиваемая функция аутентификации ie со схемой аутентификации тоже не будет работать.

После того, как я прокомментирую эти две строки, мое приложение больше не будет работать .

    // The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
    app.UseHsts();

    app.UseHttpsRedirection();

Использование HTTPS не является обязательным, приложение должно использоваться в нашем intr anet, и я использовал Identity только для управления пользователями. Какие варианты у меня есть прямо сейчас?

enter image description here enter image description here enter image description here

даже со всеми это, когда я пытаюсь войти в систему, он перенаправляет меня обратно на страницу входа, и это с использованием настраиваемой аутентификации Cook ie без отступа.

  services.AddAuthentication().AddCookie(AuthenticationSchemes.Production, options =>
        {
            options.ExpireTimeSpan = TimeSpan.FromHours(8);
            options.LoginPath = new PathString("/Login");
            options.LogoutPath = new PathString("/Logout");
            options.Cookie.HttpOnly = true;
            options.AccessDeniedPath = new PathString("/AccessDenied");
            options.SlidingExpiration = true;
            options.Cookie.Name = "NoPaper.Production";
            options.ExpireTimeSpan = TimeSpan.FromHours(8);
        });

UPDATE

Кажется, единственное решение, которое сработало, - это создать новый проект без https и просто скопировать все из другого и установить пакеты nuget, и это сработало.

1 Ответ

0 голосов
/ 29 мая 2020

Пожалуйста, объясните подробнее о том, что аутентификация не работает, есть ли ошибки? Попробуйте использовать инструменты разработчика F12, чтобы проверить это. И, пожалуйста, убедитесь, что вы не используете ex

Насколько мне известно, когда мы создаем приложение do tnet core через Visual Studio, если мы выберем индивидуальные учетные записи пользователей (используя Identity), обычно оно будет принудительно использовать https из соображений наилучшей практики.

В этом сценарии, чтобы отключить HTTPS, мы могли бы сослаться на следующие шаги:

  1. удалить UseHttpsRedirection из Startup .cs: ​​

    app.UseHsts();  
    app.UseHttpsRedirection();
    
  2. Щелкните проект правой кнопкой мыши и выберите Свойства на вкладке Отладка , снимите флажок Включите опцию SSL . Затем приложение будет запущено с использованием HTTP-запросов.

    enter image description here

    Если вы не используете Visual Studio, вы также можете удалить ссылки SSL в launchSettings. json file:

    enter image description here

Кроме того, убедитесь, что вы не используете внешние службы аутентификации в своем приложении . Я создал новое основное приложение do tnet и использую описанный выше метод для отключения HTTPS, а затем могу использовать Identity для регистрации нового пользователя и входа в систему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...