SignalR с проверкой подлинности Windows не работает при публикации в IISC#

Место общения программистов C#
Гость
SignalR с проверкой подлинности Windows не работает при публикации в IIS

Сообщение Гость »


У меня есть приложение Blazor Server Chat, которое использует концентратор SignalR для отправки сообщений клиенту. Используемая аутентификация — Windows Auth.

Сообщения не доходят до отдельного пользователя. Я протестировал широковещание, которое действительно работает для отправки сообщения через SignalR, но, конечно, всем.

Проблема связана с именем пользователя, зарегистрированного в SignalR. Предполагается, что каждый пользователь имеет индивидуальное имя, а для Windows Auth рекомендуется реализовать NameUserIdProvider следующим образом:

Открытый класс NameUserIdProvider: IUserIdProvider { общедоступная строка GetUserId (соединение HubConnectionContext) { вернуть соединение.Пользователь?.Идентификация?.Имя; }

Однако проблема заключается в том, что это не возвращает текущего пользователя Windows, а возвращает учетную запись пользователя, под которой работает веб-сайт, которая, конечно же, одинакова для всех пользователей.

Я попытался добавить заявку клиента в ClaimsTransformer, но оказалось, что эта заявка недоступна на момент подключения.

Я не понимаю, как это решить. Буду рад любым советам.

Вернуться в «C#»