Есть ли способ использовать ASP.net Проверка подлинности с помощью IIS и HttpContext?

#c# #iis #asp.net-identity #blazor-server-side #httpcontext

Вопрос:

Я создал базу данных с помощью efcore, используя asp.net структура идентификации для моих пользователей и ролей с небольшими изменениями. Я хотел бы, чтобы пользователь подключился к моему сайту и мог войти в систему со своими учетными данными, хранящимися в базе данных. Когда я размещаю свое серверное приложение Blazor в IIS, отображается моя пользовательская страница входа в систему, которая позволяет пользователю вводить учетные данные. Однако «пользователь» httpcontext является нулевым при проверке подлинности. Приложение, очевидно, работает нормально, когда я загружаю его через visual studio, и проблема, похоже, связана только с проверкой подлинности IIS.

Комментарии:

1. Вам следует проверить режим проверки подлинности, настроенный в IIS для вашего сайта. По умолчанию некоторые режимы не включены. Вам нужно будет убедиться, что используемый вами режим включен и доступен в вашем IIS.

2. Вам необходимо отключить анонимную проверку подлинности и включить проверку подлинности Windows.

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

4. Можете ли вы показать код о функции входа в систему и о том, как получить пользователя?

5. Я смог заставить это работать, используя анонимную аутентификацию и без олицетворения. Решение состояло в том, чтобы удалить мои звонки пользователю из HttpContext и вместо этого получить пользователя из AuthenticationStateProvider. Спасибо всем вам за вашу помощь!

Ответ №1:

Я смог заставить это работать, используя анонимную аутентификацию и без олицетворения. Решение состояло в том, чтобы удалить мои вызовы для пользователя из HttpContext и вместо этого получить пользователя из AuthenticationStateProvider в Blazor.