2012-04-26 18 views
7

Ho un'applicazione web, in cui ho usato il framework Spring. Per il controllo simultaneo della sessione, utilizzo la funzione Spring in cui verrà mantenuta solo 1 sessione di accesso per 1 utente non appena l'utente si collega a un'altra sessione, la sessione precedente sarà scaduta.Come reindirizzare il messaggio di controllo simultaneo della sessione di sicurezza Spring sulla schermata di accesso?

Ora, in questo caso sto ottenendo questo messaggio "Questa sessione è scaduta (probabilmente a causa di molteplici accessi simultanei essere tentato come lo stesso utente)."

Ma ottengo questo messaggio completo pagina bianca sul browser. Desidero che questo messaggio venga visualizzato solo sulla schermata di accesso.

Ecco la parte del mio xml di sicurezza di primavera in cui ho gestito la sessione simultanea per l'utente.

<security:session-management invalid-session-url="/login.jsp?error=sessionExpired" session-authentication-error-url="/login.jsp?error=alreadyLogin"> 
        <security:concurrency-control max-sessions="1" error-if-maximum-exceeded="false" /> 
</security:session-management> 

Qualsiasi collegamento appositamente per personalizzare questo messaggio e reindirizzare questo messaggio nella pagina dell'applicazione Web desiderata sarà apprezzato.

Grazie in anticipo.

risposta

7

voce XML originale in primavera-security.xml

<security:session-management session-authentication-error-url="/login.jsp?error=alreadyLogin"> 
        <security:concurrency-control max-sessions="1" error-if-maximum-exceeded="false" /> 
</security:session-management> 

Proprio quello che dovete aggiunto seguente parametro in XML per reindirizzare l'accesso scaduto azione o non valida sessione url

-url scaduto = "valore di URL "

invalid-session-url =" valore di URL"

voce XML Modificato

<security:session-management invalid-session-url="/login.jsp?error=sessionExpired" session-authentication-error-url="/login.jsp?error=alreadyLogin"> 
        <security:concurrency-control max-sessions="1" expired-url="/login.jsp?error=sessionExpiredDuplicateLogin" error-if-maximum-exceeded="false" /> 
</security:session-management> 
0

Nel jar spring-security-core ci sono i file .properties.

Sarà necessario sovrascrivere le proprietà desiderate con i messaggi personalizzati nell'applicazione.