Аутентификация веб-API ASP.NET MVC 4 с поставщиком членства

У меня есть проект ASP.NET MVC 4, использующий веб-API. На контроллере я установил для класса требование авторизации с использованием атрибута [Authorize]. Для аутентификации я использую поставщика членства ASP.NET, и мой Web.Config настроен на использование аутентификации «Формы». Вот где я застрял:

Все работает отлично до тех пор, пока я не закончил тестирование API, и я хочу защитить контроллер с помощью атрибута [Authorize], чтобы я мог начать тестирование аутентификации для пользователей в моем провайдере членства. Итак, я запускаю Fiddler и делаю тот же вызов, добавляя атрибут Authorization :Basic вместе с именем пользователя :и паролем от моего провайдера членства, например:

enter image description here

Ответ, который я получаю, 401 неавторизованный, и в разделе «Аутентификация» я получаю «Нет WWW -Заголовок аутентификации». Затем я понимаю, что API ищет закодированный ключ SHA1. Итак, я запускаю генератор SHA1 из поиска и получаю хеш для моего имени пользователя :пароль и обновляю свой заголовок запроса следующим образом:

enter image description here

Это тоже не работает, и я получаю те же результаты.Также мне, очевидно, нужен какой-то «общий секретный ключ» для использования с сервером для декодирования моего имени пользователя/пароля.

Итак, мои вопросы:

  1. Как мне получить этот ключ с сервера (или, в данном случае, Virtual IIS, работающего на VS 2012 ).
  2. Как использовать это для совершения вызовов с проверкой подлинности в Fiddler с использованием имен пользователей/паролей от поставщика членства ASP.NET.
  3. Как я буду использовать это в своем клиентском приложении для выполнения тех же вызовов (C #WPF App ).
  4. Является ли это наилучшей практикой в ​​сочетании с SSL для моих HTTP-вызовов? Если нет, то что?

Заранее спасибо!

43
задан INNVTV 18 July 2012 в 05:57
поделиться