Microsoft MVC 4, APIController и правильная веб-служба входа RESTful

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

5
задан frapontillo 28 March 2012 в 13:03
поделиться