Аутентификация с помощью OpenRasta
Я пытаюсь использовать OpenRasta для простого сервиса RESTful. Эта служба должна быть защищена либо с помощью базовой аутентификации http, либо (предпочтительно) дайджеста.
Оглядываясь в сети, десятки веб-страниц пишут о том, как прекрасен OpenRasta и что он даже поддерживает дайджест-аутентификацию, но я не смог найти ни одного примера того, как включить ни одну из них для моего сервиса.
Кажется, что установка метода RequAuthentication на мой метод или обработчик ничего не делает.
Кто-нибудь делал это раньше? Или это просто мечта?
ОБНОВЛЕНИЕ: я разочаровался в получении работы и пошел с вилкой Скотта Литтлвуда OpenRasta. Он изменил способ аутентификации, и, используя его реализацию, мне удалось сделать и Basic, и Digest.
3 ответа
Я собрал небольшой пост в блоге и пример приложения, чтобы показать, как включить дайджест-аутентификацию с использованием текущего RTM OpenRasta.
http://scottondotnet.blogspot.com/2010/10/openrasta-digest-authentication.html
Исходный код можно найти здесь: http://github.com/scottlittlewood/OpenRastaDigestDemo
Я думаю, что проблема заключается в использовании Cassini (встроенного в VS.NET) для отладки. Cassini не поддерживает аутентификацию, как IIS. Когда я переключился на использование IIS, он начал запрашивать у меня аутентификацию.
Посмотрите на классы в OpenRasta.Security. Это поставщик IAuthenticationProvider, который вы должны внедрить и зарегистрировать в контейнере для дайджеста.
Проверьте журнал отладки, если после этого он все еще не работает, и отправьте его копию в списки рассылки, люди там смогут вам помочь.