2015-03-10 4 views
0

Я пытаюсь защитить свои службы REST с помощью весенней безопасности. Моя проблема заключается в том, что я застрял в точке входа в аутентификацию. Даже если я настроил UsernamePasswordAuthenticationFilter, поток выполнения не смог туда добраться. Ниже конфигурации XMLSpring Security-flow после точки входа в систему проверки подлинности

<sec:http create-session="stateless" auto-config="false" 
       authentication-manager-ref="authenticationManager" 
       entry-point-ref="http403EntryPoint" 
       > 

     <sec:form-login 
      login-processing-url="/login" 
      password-parameter="password" 
      username-parameter="username" 
      /> 

     <!-- <sec:custom-filter ref="tokenCreatorAndValidator" position="FORM_LOGIN_FILTER" /> --> 

     <sec:intercept-url pattern="/**" 
         method="POST" 
         access="ROLE_USER" 
         /> 
    </sec:http> 

    <sec:authentication-manager alias="authenticationManager"> 
      <sec:authentication-provider user-service-ref="authenticatorDAO"> 
      </sec:authentication-provider> 
    </sec:authentication-manager> 

<bean id="http403EntryPoint" 
     class="com.app.login.RestAuthenticationEntryPoint" /> 

код AuthenticationEntryPoint приводится ниже.

public class RestAuthenticationEntryPoint implements AuthenticationEntryPoint{ 

    @Override 
    public void commence(HttpServletRequest request, HttpServletResponse response, 
    AuthenticationException authException) throws IOException{ 
     System.out.println("in RestAuthenticationEntrypoint\n--------------------------------------\n"); 
     response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Unauthorized"); 
    } 
} 

может кто-нибудь сказать мне, что я делаю неправильно здесь?

ответ

0

Извините, не публикуется комментарии, поэтому отправляйте это как ответ.

Проверьте, не вызывается ли ExceptionTranslationFilter в вашей текущей конфигурации.

ИЛИ

ли вы вводили http403EntryPoint в ExceptionTranslationFilter?

<bean id="etf" class="org.springframework.security.web.access.ExceptionTranslationFilter"> 
     <property name="authenticationEntryPoint" ref="http403EntryPoint"/> 
</bean 

>

+0

Нет, я не вводил EntryPoint reference.Also я м не получают никаких исключений в ошибках методы trace.After начинающейся делаются, поток идет в никуда – Swapnil

+0

Если добавить пользовательский фильтр на месте form_login_filter, пользователь получает аутентификацию, но затем «AuthenticationEntryPoint» генерирует ошибку «Аутентификация». Мой вопрос: почему аутентификационная точка выполняется после успешной аутентификации пользователя? – Swapnil

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