thiago.correa 5 de jan. de 2010
Nesse caso crie um filter que faça essa validação para você!!!
viniciusfaleiro 5 de jan. de 2010
Exemplo de filter q redireciona qdo sessão ñ é mais válida…
package myServlets ;
import java.io.IOException ;
import javax.servlet.Filter ;
import javax.servlet.FilterChain ;
import javax.servlet.FilterConfig ;
import javax.servlet.ServletException ;
import javax.servlet.ServletRequest ;
import javax.servlet.ServletResponse ;
import javax.servlet.http.HttpServletRequest ;
import javax.servlet.http.HttpServletResponse ;
public class SecurityFilter implements Filter
{
public static final String loginPage = "LoginPage.html" ;
public void doFilter ( ServletRequest request , ServletResponse response ,
FilterChain filterChain ) throws IOException , ServletException {
System . out . println ( "Filtrando" );
if (( request instanceof HttpServletRequest ) && ( response instanceof HttpServletResponse )) {
HttpServletRequest httpServletRequest = ( HttpServletRequest ) request ;
HttpServletResponse httpServletResponse = ( HttpServletResponse ) response ;
if ( isSessionInvalid ( httpServletRequest )) {
String timeoutUrl = httpServletRequest . getContextPath () + "/" + loginPage ;
httpServletResponse . sendRedirect ( timeoutUrl );
return ;
}
}
filterChain . doFilter ( request , response );
}
private boolean isSessionInvalid ( HttpServletRequest httpServletRequest ) {
boolean sessionInValid = ( httpServletRequest . getRequestedSessionId () != null )
&& ! httpServletRequest . isRequestedSessionIdValid ();
return sessionInValid ;
}
public void init ( FilterConfig filterConfig ) throws ServletException {
System . out . println ( "Inicicando Sessão" );
}
public void destroy () {
System . out . println ( "Sessão destruida!" );
}
/**
* Utilizado para interceptar requisições para realizar um filtro de acesso a aplicação.
*
* @throws java.io.IOException
* @throws javax.servlet.ServletException
*
* @param <b>request </b> ServletRequest
* @param <b>response </b> ServletResponse
* @param <b>chain </b> FilterChain
*/
}
thiago.correa 5 de jan. de 2010
viniciusfaleiro:
Exemplo de filter q redireciona qdo sessão ñ é mais válida..
package myServlets ;
import java.io.IOException ;
import javax.servlet.Filter ;
import javax.servlet.FilterChain ;
import javax.servlet.FilterConfig ;
import javax.servlet.ServletException ;
import javax.servlet.ServletRequest ;
import javax.servlet.ServletResponse ;
import javax.servlet.http.HttpServletRequest ;
import javax.servlet.http.HttpServletResponse ;
public class SecurityFilter implements Filter
{
public static final String loginPage = "LoginPage.html" ;
public void doFilter ( ServletRequest request , ServletResponse response ,
FilterChain filterChain ) throws IOException , ServletException {
System . out . println ( "Filtrando" );
if (( request instanceof HttpServletRequest ) && ( response instanceof HttpServletResponse )) {
HttpServletRequest httpServletRequest = ( HttpServletRequest ) request ;
HttpServletResponse httpServletResponse = ( HttpServletResponse ) response ;
if ( isSessionInvalid ( httpServletRequest )) {
String timeoutUrl = httpServletRequest . getContextPath () + "/" + loginPage ;
httpServletResponse . sendRedirect ( timeoutUrl );
return ;
}
}
filterChain . doFilter ( request , response );
}
private boolean isSessionInvalid ( HttpServletRequest httpServletRequest ) {
boolean sessionInValid = ( httpServletRequest . getRequestedSessionId () != null )
&& ! httpServletRequest . isRequestedSessionIdValid ();
return sessionInValid ;
}
public void init ( FilterConfig filterConfig ) throws ServletException {
System . out . println ( "Inicicando Sessão" );
}
public void destroy () {
System . out . println ( "Sessão destruida!" );
}
/**
* Utilizado para interceptar requisições para realizar um filtro de acesso a aplicação.
*
* @throws java.io.IOException
* @throws javax.servlet.ServletException
*
* @param <b>request </b> ServletRequest
* @param <b>response </b> ServletResponse
* @param <b>chain </b> FilterChain
*/
}
Faltou a configuração do Web.xml :lol:
rodrigoalves639 5 de jan. de 2010
Eu nao estou sabendo fazer a chamada no web config, onde chamar o:
br.com.inloc.sessao.AuthorizationListener
viniciusfaleiro 5 de jan. de 2010
Meu XML está assim:
<session-config>
<session-timeout> 20</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file> LoginPage.html</welcome-file>
</welcome-file-list>
<filter>
<filter-name> securityFilter</filter-name>
<filter-class> myServlets.SecurityFilter</filter-class>
</filter>
<filter-mapping>
<filter-name> securityFilter</filter-name>
<url-pattern> *.jsp</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name> securityFilter</filter-name>
<url-pattern> *.faces</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name> securityFilter</filter-name>
<url-pattern> *.html</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name> securityFilter</filter-name>
<url-pattern> *.*</url-pattern>
</filter-mapping>