2014-01-10 2 views
0

Я пытаюсь настроить CXF + Spring + встроенный причал с базовой аутентификацией, основанной на JAAS, и у меня возникают проблемы со связью всех частей.Конфигурирование JAAS во встроенном Jetty с CXF и Spring

Я хочу использовать CXF JAASLoginInterceptor, который выглядит очень легко настроить так, мое определение службы в ApplicationContext будет выглядеть

<jaxws:endpoint address="/soapService"> 
    <jaxrs:serviceBeans> 
     <ref bean="serviceImpl" /> 
    </jaxrs:serviceBeans> 
    <jaxws:inInterceptors> 
     <ref bean="authenticationInterceptor"/> 
    </jaxws:inInterceptors> 
</jaxws:endpoint> 

<bean id="authenticationInterceptor" class="org.apache.cxf.interceptor.security.JAASLoginInterceptor"> 
    <property name="contextName" value="jaasContext"/> 
    <property name="roleClassifier" value="ROLE_"/> 
</bean> 

Как всем .doc гласит: «JAAS аутентификации сконфигурировано с именем из JAAS (тот, который обычно указан в ресурсе конфигурации JAAS, который известен серверу) «

Как настроить этот« ресурс конфигурации JAAS »наиболее простым способом?

Спасибо!

ответ

1

В конце это очень легко сделать. Единственное, что вам нужно, это разместить файл с конфигурацией модулей входа в пути к классам и установить системное свойство «java.security.auth.login.config», указывающее на этот файл.

например. файл, чтобы включить проверку подлинности на основе свойств файла:

jaasContext {
org.eclipse.jetty.plus.jaas.spi.PropertyFileLoginModule опциональный файл = "SRC/главная/ресурсы/credentials.props"; };

Обратите внимание, что имя_контакта в перехватчике CXF такое же, как в файле конфигурации jaas.

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