Как аутентифицировать клиента SignalR .NET с помощью MVC5 ASP.NET Структура идентичности

#asp.net #xamarin #asp.net-mvc-5 #signalr #asp.net-identity

#asp.net #xamarin #asp.net-mvc-5 #signalr #asp.net-identity

Вопрос:

Я некоторое время изучал это и, похоже, не могу понять.

У меня есть клиент .NET SignalR, который необходимо аутентифицировать с помощью ASP.NET Идентификатор (MVC5), чтобы он мог получить доступ к концентраторам SignalR, защищенным атрибутом [Authorize].

Я нашел следующий ресурс (см. Параметры аутентификации для клиентов .NET / Cookie):

http://www.asp.net/signalr/overview/signalr-20/security/hub-authorization

Однако пример кода для извлечения файла cookie не работает из-за:

 authCookie = response.Cookies[FormsAuthentication.FormsCookieName];
  

и поскольку я не использую проверку подлинности Forms, это приводит к ошибке.

Я не уверен, как изменить это для ASP.NET Личность?

Я сосредоточен на правильном подходе, т. Е.. извлечение файла cookie и последующее добавление его в контейнер файлов cookie? или я должен передавать имя пользователя и пароль в заголовках в концентратор и аутентифицировать каким-то образом таким образом?

Я не понимал, насколько запутанным было бы аутентифицировать с помощью клиента .NET с SignalR и Identity Framework.

Несмотря на то, что это не мой вариант использования, я также помечаю вопрос с помощью Xamarin, поскольку я чувствую, что это может быть проблемой, с которой сталкиваются разработчики Xamarin mobile, использующие SignalR.Также СЕТЕВОЙ клиент.

Поскольку я, похоже, не могу найти никаких примеров в Интернете, буду признателен за любую помощь. Спасибо.

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

1. и как вы это вообще получаете? я ставлю authorize, затем, используя MVC5, я вхожу в систему, он по-прежнему сообщает мне неавторизованный … также нет предварительного просмотра кода для первой части, в которой используется AuthorizeAttribute, чтобы указать, что делать, кроме указания этого атрибута, … чтобы иметь возможность авторизовать или авторизовать клиента.

Ответ №1:

Просто измените это

var authCookie = response.Cookies[FormsAuthentication.FormsCookieName];

Для

var authCookie = response.Cookies[".AspNet.ApplicationCookie"];