Galera, estou fazendo um interceptor para login. Os redirecionamentos estão todos ok. O problema é que quando o a minha action de validação me redireciona para a página protegida (onde tem o interceptor) ela cai em um Redirect Loop. O que esto pensando é que minha aciton não está setando as minhas variáveis na session, por isso ele fica sempre redirecionando, um para o outro :roll: .
Deixem-me mostrar minha action
//método da validação
public String validation() {
Criteria c1 = HibernateUtil.getSession().createCriteria(Usuario.class);
c1.add(org.hibernate.criterion.Expression.eq("nome", usuario.getNome()));
c1.add(org.hibernate.criterion.Expression.eq("senha", usuario.getSenha()));
List list = c1.list();
if(list.size()!=0){
ServletActionContext.getRequest().getSession().setAttribute("login", usuario.getNome());
return SUCCESS;
}
else
return ERROR;
}
E agora meu interceptor:
public String intercept(ActionInvocation actionInvocation) throws Exception {
//Map session = ServletActionContext.getContext().getSession();
if(ServletActionContext.getRequest().getSession().getAttribute("login")!=null){
return "logado";
}
return "nao_logado";
}
Meu arquivo de configuração do struts:
<package name="usuario" namespace="/usuario" extends="struts-default">
<interceptors>
<interceptor name="login" class="fiscalizacao.interceptor.LoginInterceptor"/>
</interceptors>
<global-results>
<result name="nao_logado" type="redirect-action" >login.action</result>
<result name="logado" type="redirect-action" >index.action</result>
</global-results>
<action name="logon" class="fiscalizacao.action.UsuarioAction" method="validation">
<interceptor-ref name="basicStack"></interceptor-ref>
<result name="error" type="redirect-action" >login.action</result>
<result name="success" type="redirect-action" >index.action</result>
</action>
<action name="UsuarioSave" class="fiscalizacao.action.UsuarioAction" method="insere">
<interceptor-ref name="login"></interceptor-ref>
<!--<interceptor-ref name="basicStack"></interceptor-ref>-->
<result name="input" >/WEB-INF/pages/usuario/index.jsp</result>
<result name="success" type="redirect-action" >lista3.action</result>
</action>
<action name="UsuarioUpdate" class="fiscalizacao.action.UsuarioAction" method="update" >
<interceptor-ref name="login"></interceptor-ref>
<interceptor-ref name="basicStack"></interceptor-ref>
<result name="success" type="redirect-action" >lista3.action</result>
</action>
<action name="UsuarioDelete" class="fiscalizacao.action.UsuarioAction" method="delete" >
<interceptor-ref name="login"></interceptor-ref>
<interceptor-ref name="basicStack"></interceptor-ref>
<result name="success" type="redirect-action" >lista3.action</result>
</action>
<action name="login" class="fiscalizacao.action.UsuarioAction" >
<interceptor-ref name="basicStack"></interceptor-ref>
<result>/WEB-INF/pages/usuario/login.jsp</result>
</action>
<action name="*" class="fiscalizacao.action.UsuarioAction" >
<interceptor-ref name="login"></interceptor-ref>
<interceptor-ref name="basicStack"></interceptor-ref>
<result>/WEB-INF/pages/usuario/{1}.jsp</result>
</action>
<!-- Add actions here -->
</package>
O que eu poderia fazer para parar esse loop de redirecionamento?!
[]'s