Как реализовать аутентификацию в servicestack.net - PullRequest
26 голосов
/ 03 мая 2011

Я изучаю servicestack.net - но его примеры и статьи, похоже, не охватывают аутентификацию - это что-то, что обрабатывает servicestack.net - и если да, то как?

В частности, я заинтересован в реализации поддержки:

  • OAuth (таким образом, возможность проверить необработанный запрос и проверить его / получить информацию о связанном пользователе и связаться с запросом перед передачей его на servicestack.net для обработки).
  • Аутентификация на основе сеансов / файлов cookie (что позволяет клиентам Ajax, у которых уже есть действительный сеанс ASP.Net, использовать его для аутентификации вместо необходимости явно передавать данные для входа в систему и пароль для получения токена сеанса, подходящего для отправки с последующими запросами ).

Может ли кто-нибудь указать мне направление документации / примеров, демонстрирующих аутентификацию / безопасность при использовании инфраструктуры ServiceStack.Net.

1 Ответ

25 голосов
/ 03 мая 2011

Редактировать: теперь в ServiceStack появилась новая модель провайдера аутентификации со следующими встроенными провайдерами:

  • Учетные данные - для аутентификации с именем пользователя/ учетные данные пароля.например, Форма Аутентификация
  • Базовая Аутентификация - Разрешение пользователям проходить аутентификацию с помощью Базовой аутентификации
  • Twitter OAuth - Разрешить пользователям регистрироваться и проходить аутентификацию через Twitter
  • Facebook OAuth - разрешить пользователям регистрироваться и проходить проверку подлинности с помощью Facebook

Новая модель провайдера аутентификации является полностью опциональной и представляет собой библиотеку уровня пользователя, созданную поверх ServiceStack.существующие фильтры запросов / ответов.

Для получения дополнительной информации о том, как создать свой собственный, проверьте эту ветку для параметров аутентификации в ServiceStack.

https://groups.google.com/d/topic/servicestack/U3XH9h7T4K0/discussion

В основном вы можете использовать запросфильтры для перехвата запроса или базовый класс для добавления общей логики проверки.В ветке приведены примеры обоих вариантов.

В качестве альтернативы вы можете разместить ServiceStack вместе с другой веб-инфраструктурой ASP.NET, чтобы вы могли использовать его встроенного поставщика аутентификации, и просто проверить действительный сеанс пользователя в ServiceStack с помощью фильтров запросов и файлов cookie.

Вот пример реализации HTTP Basic Auth с фильтрами запросов

...