es.mcu.yingo.filtros
Class FiltroSinCertificado
java.lang.Object
org.springframework.web.filter.GenericFilterBean
org.springframework.web.filter.OncePerRequestFilter
es.mcu.yingo.filtros.FiltroAbstracto
es.mcu.yingo.filtros.FiltroSinCertificado
- All Implemented Interfaces:
- javax.servlet.Filter, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.DisposableBean, org.springframework.beans.factory.InitializingBean, org.springframework.web.context.ServletContextAware
public class FiltroSinCertificado
- extends FiltroAbstracto
Si el párametro 'regexUrl'
es diferente de nulo
se comprueba primero si la url actual cumple la expresion regular cargada
en este parámetro.
Si no cumple las condiciones se sigue con la cadena de filtros.
Si se cumplen las condiciones primero comprueba que la id de aplicación que
tiene el usuario en la sesión es la misma que la que está configurada en el
parámetro idAplicacion
. Si no es la misma limpia todos los
objetos en sesión dek usuario y coloca el id de aplicación en la sesión.
Después comprueba que existe el usuario en sesión.
Si el usuario no está en sesión, crea un usuario del tipo
UsuarioConCertificado
. Se obtiene del el objeto del tipo
FactoriaUsuariosConCertificado
que está definido en el contexto
de spring con el valor que tiene el parámetro
factoriaUsuariosCertSpringId
. Se realizará una llamada al método
crearValidarUsuario
con argumentos nulos tanto en el certificado
del usuario como en el certificado de la entidad emisora de este.
Ejemplo de configuración:
FiltroInternetCustodiaCertBusqueda
es.mcu.yingo.filtros.FiltroSinCertificado
vistaError
/custodiaCert/inter/error.form
idAplicacion
custodiaCert
factoriaUsuariosCertSpringId
custodiaCert.factoriaUsuariosInternetBusqueda
- Author:
- miguel.esteban
Field Summary |
private java.lang.String |
factoriaUsuariosCertSpringId
Id de bean en la configuración de spring de la factoría de usuarios con
certificado |
private java.lang.String |
idAplicacion
Id de aplicación. |
private java.lang.String |
regexUrl
Expresión regular que deberá cumplir la url actual para que pase por
las siguientes validaciones del filtro |
Fields inherited from class org.springframework.web.filter.OncePerRequestFilter |
ALREADY_FILTERED_SUFFIX |
Methods inherited from class org.springframework.web.filter.OncePerRequestFilter |
doFilter, getAlreadyFilteredAttributeName, shouldNotFilter |
Methods inherited from class org.springframework.web.filter.GenericFilterBean |
addRequiredProperty, afterPropertiesSet, destroy, getFilterConfig, getFilterName, getServletContext, init, initBeanWrapper, initFilterBean, setBeanName, setFilterConfig, setServletContext |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
idAplicacion
private java.lang.String idAplicacion
- Id de aplicación. Si no es la misma que tiene el usuario en sesión
se limpiará la sesión del usuario
regexUrl
private java.lang.String regexUrl
- Expresión regular que deberá cumplir la url actual para que pase por
las siguientes validaciones del filtro
factoriaUsuariosCertSpringId
private java.lang.String factoriaUsuariosCertSpringId
- Id de bean en la configuración de spring de la factoría de usuarios con
certificado
FiltroSinCertificado
public FiltroSinCertificado()
doFilterInternal
protected void doFilterInternal(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
javax.servlet.FilterChain chain)
throws javax.servlet.ServletException,
java.io.IOException
- Specified by:
doFilterInternal
in class org.springframework.web.filter.OncePerRequestFilter
- Throws:
javax.servlet.ServletException
java.io.IOException
filtrar
protected void filtrar(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
javax.servlet.FilterChain chain)
throws java.lang.Exception
- Se obtiene el usuario de la sesión. Si el usuario es nulo lo que se crea
es un usuario
UsuarioConCertificado
se llama a la validación
- Parameters:
request
- response
- chain
-
- Throws:
java.lang.Exception
colocarAplicacionSession
private void colocarAplicacionSession(javax.servlet.http.HttpServletRequest request)
- Coloca en la sesión el id de aplicación. Si el id de sesión es diferente
al idDeSession del filtro limpia la sesión y coloca el nuevo id de sesión
- Parameters:
request
-
obtenerUsuario
private UsuarioConCertificado obtenerUsuario()
throws SeguridadYingoException
- Obtiene el usuario de la factoria de usuarios definida como id de spring
en el parámetro de inicio del filtro
- Parameters:
x509Certificate
-
- Returns:
-
- Throws:
SeguridadYingoException
getFactoriaUsuariosCertSpringId
public java.lang.String getFactoriaUsuariosCertSpringId()
- Returns:
- Devuelve el atributo factoriaUsuariosCertSpringId
setFactoriaUsuariosCertSpringId
public void setFactoriaUsuariosCertSpringId(java.lang.String factoriaUsuariosCertSpringId)
- Parameters:
factoriaUsuariosCertSpringId
- Carga el atributo factoriaUsuariosCertSpringId
getIdAplicacion
public java.lang.String getIdAplicacion()
- Returns:
- Devuelve el atributo idAplicacion
setIdAplicacion
public void setIdAplicacion(java.lang.String idAplicacion)
- Parameters:
idAplicacion
- Carga el atributo idAplicacion
getRegexUrl
public java.lang.String getRegexUrl()
- Returns:
- Devuelve el atributo regexUrl
setRegexUrl
public void setRegexUrl(java.lang.String regexUrl)
- Parameters:
regexUrl
- Carga el atributo regexUrl