[Logo] Neo Framework Forum
  [Search] Busca   [Recent Topics] Tópicos Recentes   [Members]  Lista de Usuários   [Groups] De volta para a página principal 
[Register] Registrar / 
[Login] Entrar 
Login Bloqueado  XML
Índice dos Fóruns -> Dúvidas
Autor Mensagem
michael-pr
Equipe

Membro desde: 14/01/2008 09:33:19
Mensagens: 9
Offline

Salve Javaneses,

estou implementando o exemplo crud fornecido pelo neo framework, e surgiu a seguinte duvida em relação ao campo bloqueado da entidade usuario.

o campo existe no banco de dados mas no processo de autenticação (controler login) ele não interfere.

uma ideia seria colocar o metodo isActive na interface br.com.linkcom.neo.authorization.User

pedro.goncalves
Equipe
[Avatar]
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline

michael, Seja bem vindo ao fórum.

Cara.. pelo que vi, foi porque esqueceram de arrumar ele no método que faz autenticação..

Mas faça assim:

No seu authorizationDAO, tem um método chamado findUserByLogin,

Nele deve ter uma query semelhante a:

Code:
 return new QueryBuilder<User>(getHibernateTemplate())
 				.from(Pessoa.class)
 				.joinFetch("pessoa.listaPessoapapel pessoapapel")
 				.joinFetch("pessoapapel.papel papel")
 				.where("pessoa.login = ?", login)
 				.unique();
 


Ai basta adicionar mais uma condição, Olhe:
Code:
 return new QueryBuilder<User>(getHibernateTemplate())
 				.from(Pessoa.class)
 				.joinFetch("pessoa.listaPessoapapel pessoapapel")
 				.joinFetch("pessoapapel.papel papel")
                                 .where("pessoa.bloqueado = ?", Boolean.FALSE)
 				.where("pessoa.login = ?", login)
 				.unique();
 

Pedro Gonçalves
http://pedrogoncalves.com.br
[Email] [WWW] [MSN]
michael-pr
Equipe

Membro desde: 14/01/2008 09:33:19
Mensagens: 9
Offline

Boa tarde Pedro,

obrigado pelas boas vindas, e parabens pelo trabalho do neo framework.

agora quanto a duvida, eu havia pensado em fazer isso, mas o problema
é que a mensagem de erro, caso o usuario esteja bloqueado, é de login e senha. o que não é correto. eu pensei em implementar algo assim:


Code:
 User userByLogin = autorizacaoDAO.findUserByLogin(login);
 if(userByLogin != null && userByLogin.getPassword().equals(usuario.getPassword())){
 				if (!userByLogin.isActive()) {
 					request.addMessage("Usuário bloqueado", MessageType.ERROR);
 				} else {
 					request.setUserAttribute("USER", userByLogin);
 					request.setUserAttribute(MenuTag.MENU_CACHE_MAP, null);
 					return new ModelAndView("redirect:"+AFTER_LOGIN_GO_TO);
 				}
 			} else 
 			request.addMessage("Login e/ou senha inválidos", MessageType.ERROR);
 
 



pedro.goncalves
Equipe
[Avatar]
Membro desde: 17/04/2007 16:12:20
Mensagens: 539
Localização: Belo Horizonte - MG
Offline

Assim também funciona, Sem problemas.

Agora fica a seu critério de como usar.

Obrigado. Qualquer dúvida poste ai que faremos o que puder!

[]'s

Pedro Gonçalves
http://pedrogoncalves.com.br
[Email] [WWW] [MSN]
 
Índice dos Fóruns -> Dúvidas
Ir para:   
Powered by JForum 2.1.7 © JForum Team