2012-04-26 19 views
7

Tengo una aplicación web, en la cual he usado Spring framework. Para el control de sesión simultánea, tengo la función de uso de primavera, en la que solo 1 sesión iniciada se mantendrá para 1 usuario tan pronto como el usuario inicie sesión en otra sesión, su sesión anterior habrá expirado.Cómo redirigir el mensaje de control de la sesión simultánea de seguridad Spring en la pantalla de inicio de sesión?

Ahora bien, en este caso estoy recibiendo este mensaje "Esta sesión ha expirado (posiblemente debido a múltiples conexiones simultáneas siendo tratado como el mismo usuario)."

pero me sale este mensaje en la página blanca completa en el navegador. Quiero que este mensaje aparezca solo en mi pantalla de inicio de sesión.

Aquí está la parte de mi spring security xml donde he manejado la sesión simultánea para el usuario.

<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> 

Cualquier enlace especialmente para la personalización de este mensaje y redirigir este mensaje en la página deseada aplicación web será apreciado.

Gracias de antemano.

Respuesta

7

entrada XML original en 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> 

acabo con el parámetro siguiente añadido en XML para redirigir el inicio de sesión caducado acción o de sesión no válido url

expirado-url = "valor url "

inválida-session-url =" valor url"

entrada XML modificado

<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

En el contenedor spring-security-core hay archivos .properties.

Deberá anular las propiedades que desee con sus mensajes personalizados en su aplicación.

Cuestiones relacionadas