Для интеграционного проекта я планирую использовать Apache Camel
.
Поскольку Apache Karaf, кажется, является оригинальной платформой для Camel, я решил пойти по этому пути.
Я использую Eclipse
с плагином JBoss Tools
длясоздайте проект XML
файлов.Сервер приложений - Karaf 4.1.7
, используемая версия верблюда - 2.21.5
, spring 4.3.18
, spring security 4.2.4
.
На основе примера из Camel в действии (2018), IЯ пытался добавить приведенный ниже код в мой файл blueprint.xml
, чтобы настроить аутентификацию и авторизацию в Spring Security.Я также добавил элемент защиты camel-spring в файл POM.xml
.
Моя цель - использовать модуль входа JAAS
, чтобы Karaf мог обрабатывать конфигурацию LDAP
.
<bean
class="org.springframework.security.access.vote.AffirmativeBased" id="accessDecisionManager">
<argument>
<list>
<bean class="org.springframework.security.access.vote.RoleVoter"/>
</list>
</argument>
</bean>
<bean
class="org.springframework.security.provisioning.InMemoryUserDetailsManager" id="userDetailsService">
<argument>
<list>
<bean class="org.springframework.security.core.userdetails.User">
<argument index="0" value="jon"/>
<argument index="1" value="secret"/>
<argument index="2">
<list>
<bean class="org.springframework.security.core.authority.SimpleGrantedAuthority">
<argument value="ROLE_USER"/>
</bean>
</list>
</argument>
</bean>
</list>
</argument>
</bean>
<bean
class="org.springframework.security.authentication.ProviderManager" id="authenticationManager">
<argument>
<list>
<bean class="org.springframework.security.authentication.dao.DaoAuthenticationProvider">
<property name="userDetailsService" ref="userDetailsService"/>
</bean>
</list>
</argument>
</bean>
<authorizationPolicy access="ROLE_USER"
accessDecisionManager="accessDecisionManager"
authenticationManager="authenticationManager" id="user" xmlns="http://camel.apache.org/schema/spring-security"/>
Мой вопрос:
Добавление вышеуказанного кода в файл blueprint.xml делает службу REST DSL hello world, которую я пытаюсь обезопасить, перестает работать.Вместо «привет» я теперь получаю следующее сообщение: «ОШИБКА HTTP: 404 Проблема с доступом / rest2 / say / hello. Причина: не найдена ... Пристань 9.3.24 ...»
Может кто-нибудьпомогите мне отладить это?Я новичок в этом, и я не смог найти ни одного примера того, как использовать Spring Security.