[Logo] Mentawai Forum - Mentawai Web Framework
  [Search] Search   [Recent Topics] Recent Topics   [Members]  Member Listing   [Groups] Back to home page 
[Register] Register / 
[Login] Login 

Forum Read-Only! Check the new site and forum here!

Problema com Autenticação de usuário  XML
Forum Index -> Bugs
Author Message
Silvio Pereira



Joined: 14/03/2008 06:18:57
Messages: 12
Offline

Estou desenvolvendo um sistema que possui áreas restritas e outras não.

A autenticação e a restrição funcionam sem problemas, exceto quanto o usuário tenta acessar uma área restrita, não loga (nem tenta) e tenta voltar ou simplesmente acessar uma área livre.

O sistema entra em loop e não sai da tela de login, trava tudo. Só normaliza após fechar o browser e abrir novamente.

Faço uso dos filtros globais abaixo:

Code:
addGlobalFilter(new RedirectAfterLoginFilter());
         addGlobalConsequence(RedirectAfterLoginFilter.REDIR, new Redirect());
         addGlobalConsequence(AuthorizationFilter.ACCESSDENIED, new Redirect("/denied.jsp"));
         addGlobalFilter(new AuthenticationFilter());
         addGlobalFilter(new FileUploadFilter());
         addGlobalConsequence(AuthenticationFilter.LOGIN, new Redirect("/login/login.jsp"));


Minhas action são mapeadas assim:
Code:
action("usuario", UsuarioAction.class).on(LIST, redir("usuario.show.mtw"));
 action("login", LoginAction.class);
 


Minhas action implementam as seguintes interfaces: ModelDriven, Validatable, RedirectAfterLogin, AuthenticationFree, com excessao do LoginAction
Code:
 public class LoginAction extends BaseLoginAction implements ModelDriven, Validatable {
 private UsuarioService usuarioService = new UsuarioService();
 
     /** Creates a new instance of LoginAction */
     public LoginAction() {
     }
 
     public Object getModel() {
         return this.usuarioService;
     }
 
     public String login() {
         if (isPost()) {
             try {
                 String chave = input.getStringValue("chave");
                 String senha = input.getStringValue("senha");
 
                 Usuario usr = new Usuario();
                 usr.setChave(chave);
                 usr.setSenha(senha);
                 boolean admin = false;
                 List<Usuario> usuarios = usuarioService.loadList(usr);
                 if (usuarios.size() == 0) {
                     output.setValue("erro", "Chave ou senha incorretos!");
                     return ERROR;
                 } else {
                     setUserSession(usuarios.get(0));
                     if (usuarios.get(0).getPerfilId() == 5 || usuarios.get(0).getPerfilId() == 3) {
                         admin = true;
                     }
                     session.setAttribute("admin", admin);
                     return SUCCESS;
                 }
             } catch (Exception ex) {
                 Logger.getLogger(LoginAction.class.getName()).log(Level.SEVERE, null, ex);               
                 return ERROR;
             }
         } else {
             return SUCCESS;
         }
     }
 
     public void prepareValidator(Validator validator, String string) {
         if (isPost() && string != null) {
             validator.add("chave", new RequiredFieldRule(), "A chave é um campo obrigatório!");
             validator.add("chave", StringRule.getInstance(4, 4), "A chave possui %min% caracteres!");
             validator.add("senha", new RequiredFieldRule(), "A senha é um campo obrigatório!");
         }
     }
 }
 


Será que é BUG?
[Email] [WWW] [MSN]
IceW0lf


[Avatar]

Joined: 16/03/2006 08:33:38
Messages: 1546
Location: Brasília
Offline

Cara isso me parece algum erro na sua programação ai...


Vc fez algum filtro pra validar esse login?

vcx deve estar redirecionando para algum lugar que redireciona novamente pra entrar em loop.

Leiber Wallace
Voixy ::: Soluções em Telecomunicações
 
Forum Index -> Bugs
Go to:   
Powered by JForum 2.1.6 © JForum Team