2012-07-30 14 views
7

Mam pomyślnie skonfigurowane uwierzytelnianie FORMULS w web.xml (java-webcontainer).web.xml, przy jednoczesnym użyciu uwierzytelniania podstawowego i formularza

Nie znalazłem sposobu na przesłanie nazwy użytkownika/hasła w ramach żądania pobrania uri od mojego klienta podczas korzystania z uwierzytelniania FORM. Więc muszę używać BASIC-Authentication tylko dla odpoczynku-uri.

Więc mam pytanie:

Jak mogę skonfigurować zarówno uwierzytelniania opartego na formularzu oraz uwierzytelniania podstawowego? Podstawowe uwierzytelnianie powinno być włączone tylko dla restful-uri.

+0

Czy nadal interesuje odpowiedź na to pytanie? – Olaf

+0

tak! Byłem na wakacjach :) – nimo23

Odpowiedz

6

Przez pewien czas nie było odpowiedzi, więc sam wykonałem szybki odświeżacz serwletów. Specyfikacja serwletu rzeczywiście dopuszcza tylko jeden element <login-config> dla aplikacji WWW, więc nie ma sposobu na uzyskanie punktu wejścia z PODSTAWOWYM uwierzytelnieniem dla interfejsu API REST i innego z uwierzytelnianiem opartym na FORMIE dla interfejsu użytkownika. Jedyną opcją jest zbudowanie ich jako dwóch niezależnie wdrażalnych aplikacji. Aby uniknąć powielania kodu, dobrym pomysłem może być, aby aplikacja interfejsu użytkownika komunikowała się z interfejsem API REST w taki sam sposób, jak ma to robić z klientami zewnętrznymi.

+0

Mam nadzieję, że będzie możliwe w przyszłych specyfikacjach serwletów. Może powinniśmy zrobić żądanie funkcji? – nimo23

7

Byłem też stoi podobny problem i zdałem sobie sprawę, że jeśli używasz JBoss Application Server, a następnie jej możliwość skonfigurowania mechanizmu wielokrotnego korzystania web.xml: -

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

Stosując tę ​​cichą uwierzytelniania podstawowego pierwszy będzie próbował, który jest podstawowym uwierzytelnieniem, które działa tylko wtedy, gdy obecny jest nagłówek Authorization. Jeśli nie ma takiego nagłówka, zostanie użyte uwierzytelnienie formularza.

Może za późno na odpowiedź, ale po prostu to aktualizowany w przypadku gdy ktoś uzna to za przydatne: P

+1

Wielkie dzięki. To bardzo pomaga. Zaoszczędź dużo czasu. –