2009-10-01 2 views
1

В настоящее время я использую this WebDAV Java Servlet Implementation, насколько я знаю, самый маленький и самый простой в использовании решение Java WebDAV, которое не зависит от Tomcat (с использованием WebLogic).Реализация аутентификации для сервата WebDAV

Поэтому я хотел бы расширить это, чтобы использовать мой базовый уровень безопасности, который несколько использует соединение с базой данных для аутентификации пользователей.

Вопрос в том, возможно ли это? Получает ли HttpServletRequest аутентификацию?

Рассмотрим метод следующий заголовок:

protected void service(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { } 

Теперь я хотел бы использовать req.getPrincipal, чтобы получить Principal пользователя, содержащий имя пользователя и пароль. Однако мой getPrincipal всегда возвращает null, даже если я установил свой клиент WebDAV для проверки подлинности Windows или что-то еще в этом отношении.

ответ

3

Если вы используете свой собственный уровень аутентификации, вам необходимо ввести данные аутентификации в ServletRequest. Обычно это делается через фильтр и завернутый HttpServletRequest.

Вы можете найти хороший пример в CAS,

http://www.jasig.org/cas 

Скачать источник и смотреть на этот класс,

org.jasig.cas.client.web.filter.HttpServletRequestWrapperFilter 
Смежные вопросы