Я создал простую веб-службу RESTful (пока только GET), используя Microsoft ASP.NET MVC 4 . ] Контроллер API
.
Сейчас я ищу правильный способ реализации системы авторизации для сервиса. Я знаю, что не хочу использовать встроенную 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
, который делает это за меня?