Я создал простую веб-службу RESTful (пока только для GET) с использованием Microsoft ASP.NET MVC 4 ApiController
.
Сейчас я ищу правильный способ внедрения системы авторизации для сервиса. Я знаю, что не хочу использовать встроенный FormsAuthentication
, так как я не хочу иметь уникальную страницу входа для всех приложений, использующих мой WS; более того, это нарушает парадигму RESTful, вызывая перенаправление и не уведомляя клиента с правильным 401
кодом состояния.
Итак, я отключил FormsAuthentication
, удалив следующие строки из моего web.config
:
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
и добавление следующего:
<modules runAllManagedModulesForAllRequests="true">
<remove name="FormsAuthentication" />
</modules>
У меня уже есть ApiController
для управления регистрацией пользователя, который в основном проверяет учетные данные в моей базе данных и возвращает пользователя или 401
, если учетные данные недействительны.
Я прочитал, что мне нужно реализовать API Membership
и Authorization
, но я не нашел ничего, что помогло бы мне делать это с нуля.
Есть ли у вас какие-либо идеи? Нужно ли мне управлять файлами cookie и кодами авторизации в базе данных или есть класс, аналогичный FormsAuthentication
, который делает это для меня?