Я сделал простую веб-службу 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
, если учетные данные недействительны.
Я читал, что мне нужно реализовать Membership
и Authorization
API, но я не нашел ничего, что помогло бы мне сделать это с нуля. У тебя есть идеи? Нужно ли мне управлять файлами cookie и кодами авторизации в базе данных или есть класс, аналогичный FormsAuthentication
, который сделает это за меня?