Использование Spring Security в Blueprint с верблюдом - PullRequest
0 голосов
/ 17 февраля 2019

Для интеграционного проекта я планирую использовать 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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...