Попытка реализовать signalR в нашем проекте.Использование аутентификации MVC с SignalR v2.x
В настоящее время у вас есть рабочая версия без аутентификации, сервер и клиент успешно разговаривают через веб-узлы.
Все хорошее до сих пор!
Следующим шагом было добавить идентификатор входа пользователя в соответствие с идентификатором соединения, это то, что я не могу понять.
Пользователь регистрируется на сайте, переходит на страницу с проверкой подлинности с помощью HttpContext.User, установленного на нашу версию iprinciple, которая содержит различные биты данных, специфичные для этого пользователя.
Это доступно для обычного контроллера MVC для сообщений страниц и ajax-вызовов, но не для контроллера концентратора (мое имя, где вызываются методы signalr).
, используя что-то вроде этого:
protected object GetAuthInfo()
{
var user = Context.User;
return new
{
UserName = user.Identity.Name
};
}
Однако это Context.User.Identity является недействительным и Context.User не разрешается. Мне кажется, что websocket находится на другом сеансе и не знает начального сеанса загрузки страницы, поэтому пользовательский идентификатор не был настроен.
Попробуйте quesiton, увидеть, если это помогает: http://stackoverflow.com/questions/20522477/no-access-to-the-session-information-through-signalr-hub-is-my -design-is-wrong – TheBoyan