|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.springframework.web.filter.GenericFilterBean
org.springframework.web.filter.OncePerRequestFilter
es.mcu.yingo.filtros.FiltroAbstracto
es.mcu.yingo.filtros.FiltroInternet
public class FiltroInternet
Filtro internet. Sirve para que, cuando no existe el usuario en sesión,
redirigir a un path dentro de la aplicación que se solicite autentificación
cliente SSL. En ese path habrá configurado otro filtro que permitirá obtener
el certificado del usuario y crear e incluir en la sesión un objeto
Usuario
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 es así primero comprueba que la id de aplicación que tiene el usuario 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 que tiene el 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 le redirije a la url cargada en el atributo
'pathReenvio'
anadiendo un parámetro
PARAMETRO_VUELTA
con el valor de la url actual.
Si no se cumple la expresión regular o si se cumple pero ya existe el usuario
en sesión no se realiza ninguna redirección.
Ejemplo de configuración:
Field Summary | |
---|---|
private java.lang.String |
idAplicacion
Id de aplicación. |
static java.lang.String |
PARAMETRO_VUELTA
Cadena del parámetro al que se añadirá la url actual a la url de reenvío |
private java.lang.String |
parametrosASession
Claves de los parámetros separadas por espacios que se colocarán en la sesión. |
private java.lang.String |
pathReenvio
url al que se reenviará la petició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 es.mcu.yingo.filtros.FiltroAbstracto |
---|
FILTRO_URL_VISTAERROR, logger, VISTA_ERROR, vistaError |
Fields inherited from class org.springframework.web.filter.OncePerRequestFilter |
---|
ALREADY_FILTERED_SUFFIX |
Constructor Summary | |
---|---|
FiltroInternet()
|
Method Summary | |
---|---|
private boolean |
_doFilterInternal(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
javax.servlet.FilterChain chain)
Devuelve true si no hay que continuar con la cadenas
de filtros. |
private void |
cargarParametrosEnSession(javax.servlet.http.HttpServletRequest request)
Carga los parámetros que está definidos en el atributo parametrosASession que se pasan en el request y se quieren
que esten disponibles por medio de sesión en la página de reenvío. |
private void |
colocarAplicacionSession(javax.servlet.http.HttpServletRequest request)
Coloca en la sesión el id de aplicación. |
protected void |
doFilterInternal(javax.servlet.http.HttpServletRequest request,
javax.servlet.http.HttpServletResponse response,
javax.servlet.FilterChain chain)
|
java.lang.String |
getIdAplicacion()
|
java.lang.String |
getParametrosASession()
|
java.lang.String |
getPathReenvio()
|
java.lang.String |
getRegexUrl()
|
private java.lang.String |
obtenerReenviarUrl(javax.servlet.http.HttpServletRequest request,
java.lang.String vuelta)
Obtiene la url de reenvío a partir del xontextPath
y del parámetro pathReenvio . |
void |
setIdAplicacion(java.lang.String idAplicacion)
|
void |
setParametrosASession(java.lang.String parametrosASession)
|
void |
setPathReenvio(java.lang.String pathReenvio)
|
void |
setRegexUrl(java.lang.String regexUrl)
|
Methods inherited from class es.mcu.yingo.filtros.FiltroAbstracto |
---|
colocarParametroRequestVistaError, getVistaError, obtenerUrlActual, recogerError, setVistaError |
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 |
Field Detail |
---|
private java.lang.String pathReenvio
private java.lang.String regexUrl
private java.lang.String idAplicacion
public static final java.lang.String PARAMETRO_VUELTA
private java.lang.String parametrosASession
Constructor Detail |
---|
public FiltroInternet()
Method Detail |
---|
protected void doFilterInternal(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.FilterChain chain) throws javax.servlet.ServletException, java.io.IOException
doFilterInternal
in class org.springframework.web.filter.OncePerRequestFilter
javax.servlet.ServletException
java.io.IOException
private boolean _doFilterInternal(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, javax.servlet.FilterChain chain) throws SeguridadYingoException, java.io.IOException
true
si no hay que continuar con la cadenas
de filtros. false
en caso contrario'regexUrl'
es diferente de nulo
se comprueba primero si la url actual cumple la expresion regular cargada
en este parámetro.idAplicacion
. Si no es la misma limpia todos los objetos en
sesión que tiene el usuario y coloca el id de aplicación en la sesión.'pathReenvio'
anadiendo un parámetro
PARAMETRO_VUELTA
con el valor de la url actual.En este
caso devuelve false
request
- response
- chain
-
SeguridadYingoException
java.io.IOException
private void cargarParametrosEnSession(javax.servlet.http.HttpServletRequest request)
parametrosASession
que se pasan en el request y se quieren
que esten disponibles por medio de sesión en la página de reenvío.
request
- private java.lang.String obtenerReenviarUrl(javax.servlet.http.HttpServletRequest request, java.lang.String vuelta)
xontextPath
y del parámetro pathReenvio
.PARAMETRO_VUELTA
con el
valor de vuelta
request
- vuelta
-
private void colocarAplicacionSession(javax.servlet.http.HttpServletRequest request)
request
- public java.lang.String getIdAplicacion()
public void setIdAplicacion(java.lang.String idAplicacion)
idAplicacion
- Carga el atributo idAplicacionpublic java.lang.String getRegexUrl()
public void setRegexUrl(java.lang.String regexUrl)
regexUrl
- Carga el atributo regexUrlpublic java.lang.String getPathReenvio()
public void setPathReenvio(java.lang.String pathReenvio)
pathReenvio
- Carga el atributo pathReenviopublic java.lang.String getParametrosASession()
public void setParametrosASession(java.lang.String parametrosASession)
parametrosASession
- Carga el atributo parametrosASession
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |