Spring Security 3.1.0.M1 - направить http-блок для вызова одного провайдера аутентификации - PullRequest
0 голосов
/ 20 апреля 2011

Я использую Spring Security 3.1.0 и у меня есть два http блока. Один из них используется для уровня веб-служб REST, и я хотел бы вызвать только моего провайдера аутентификации userManager, а не обоих провайдеров аутентификации. Есть ли способ направить блок http к одному конкретному поставщику аутентификации?

    <http pattern="/services/**" create-session="stateless">
        <intercept-url pattern="/**" access="ROLE_USER" />
        <http-basic />
    </http>
    <http access-denied-page="/auth/denied.html">
        <form-login
            login-processing-url="/j_spring_security_check.html"
            login-page="/auth/login.html"
            default-target-url="/registered/home.html"
            authentication-failure-url="/auth/login.html" />
         <logout invalidate-session="true" 
              logout-url="/auth/logout.html" 
              success-handler-ref="DCLogoutSuccessHandler"/>
        <anonymous username="guest" granted-authority="ROLE_ANONYMOUS"/>
        <custom-filter after="FORM_LOGIN_FILTER" ref="xmlAuthenticationFilter" />
    </http>

    <authentication-manager alias="am">
        <authentication-provider user-service-ref="userManager">
                <password-encoder ref="passwordEncoder" />
        </authentication-provider>
        <authentication-provider ref="xmlAuthenticationProvider" />
    </authentication-manager>

1 Ответ

0 голосов
/ 20 апреля 2011

Пожалуйста, см. Настройка-Spring-Security-3-X-для-иметь-несколько точек входа .Необходимо создать отдельный токен и переопределить метод supports поставщика аутентификации, чтобы поставщик обрабатывал только этот токен.

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