Реализация аутентификации для сервлета WebDAV - PullRequest
1 голос
/ 01 октября 2009

В настоящее время я использую эту реализацию Java-сервлета WebDAV, насколько мне известно, самое маленькое и простое в использовании Java-решение WebDAV, которое не зависит от Tomcat (Using WebLogic).

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

Мой вопрос: возможно ли это? HttpServletRequest даже получает аутентификацию?

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

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

Теперь я хотел бы использовать req.getPrincipal для получения Принципала пользователя, содержащего Имя пользователя и Пароль. Тем не менее, мой getPrincipal всегда возвращает значение NULL, даже если я установил для моего клиента WebDAV аутентификацию Windows или что-то еще.

1 Ответ

3 голосов
/ 01 октября 2009

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

Хороший пример можно найти в CAS,

http://www.jasig.org/cas

Загрузите исходный код и посмотрите на этот класс,

org.jasig.cas.client.web.filter.HttpServletRequestWrapperFilter
...