2013-06-24 14 views
5

ho abilitato il supporto Riposo durante la mia applicazione Spring MVC con la creazione AuthenticationEntryPoint sulla mia sicurezza context.xml comePrimavera di sicurezza Autenticazione Punto di ingresso

<http auto-config="false" use-expressions="true" 
      disable-url-rewriting="true" entry-point-ref="restAuthenticationEntryPoint"> 

Il RestAuthenticationEntryPoint.java

@Component 
public final class RestAuthenticationEntryPoint implements AuthenticationEntryPoint { 

    @Override 
    public void commence(final HttpServletRequest request, final HttpServletResponse response, final AuthenticationException authException) throws IOException { 
     response.sendError(HttpServletResponse.SC_UNAUTHORIZED, "Unauthorized"); 
    } 

} 

Ogni volta che qualsiasi l'utente prova ad accedere alle risorse senza autenticarsi darà il seguente errore:

HTTP Status 401 - Unauthorized 

Il comportamento sopra riportato è corretto solo per i servizi Rest. Tuttavia mi piacerebbe avere il comportamento predefinito che reindirizza l'utente alla pagina di login per la normale richiesta web se l'utente non è stato autenticato. Come ottenere questo?

+0

Credo che questo link può aiutare [Maniglia messaggio di errore non autorizzato per l'autenticazione di base nella primavera Security] (http://stackoverflow.com/questions/4397062/handle-unauthorized- error-message-per-basic-authentication-in-spring-security) –

+0

Vedere anche: http://stackoverflow.com/questions/23739746/howto-configure-spring-security-to-return-403-for-rest- urls-e-redirect-to-logi – yankee

risposta

Problemi correlati