2012-07-30 4 views
7

У меня есть настройка FORM-аутентификации в web.xml (java-webcontainer).web.xml, используя форму и базовую аутентификацию одновременно

Я не нашел способ отправить имя пользователя/пароль в get-request из restful-uri моего клиента при использовании FORM-аутентификации. Поэтому я должен использовать BASIC-аутентификацию только для restful-uri.

Так что у меня такой вопрос:

Как я могу настроить как форма проверки подлинности на основе и базовой аутентификации? Базовая аутентификация должна быть включена только для restful-uri.

+0

Вы все еще заинтересованы в ответ на этот вопрос? – Olaf

+0

да! Я был в отпуске :) – nimo23

ответ

6

На этот вопрос не было никаких ответов, так что я быстро обновил сервлет. Спецификации сервлетов действительно позволяют использовать только один элемент <login-config> для каждого веб-приложения, поэтому нет способа получить точку входа с BASIC-аутентификацией для REST API, а другой с аутентификацией на основе FORM для пользовательского интерфейса. Единственный вариант - создать их как два независимо развертываемых приложения. Чтобы избежать дублирования кода, может быть хорошей идеей просто позволить UI-приложению разговаривать с REST API так же, как предполагают сторонние клиенты.

+0

Надеюсь, это будет возможно в будущих спецификациях сервлетов. Может быть, нам нужно сделать запрос на функцию? – nimo23

7

Я также столкнулся с подобной проблемой, и я понял, что если вы используете Wildfly, то его можно настроить несколько механизмов с помощью web.xml: -

<auth-method>BASIC?silent=true,FORM</auth-method> 

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

Может быть слишком поздно для ответа, но я только что обновил это в случае, если кто-то считает, что это полезно: P

+1

Большое спасибо. Это очень помогает. Сэкономьте много времени. –

Смежные вопросы