#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"];