Autor |
Mensagem |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 14/01/2008 09:54:06
|
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
|
 |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 14/01/2008 13:54:31
|
pedro.goncalves
Equipe
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
 |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 14/01/2008 14:27:58
|
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);
|
 |
|
 |
![[Post New]](/forum/templates/default/images/icon_minipost_new.gif) 14/01/2008 14:53:10
|
pedro.goncalves
Equipe
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
 |
|
 |
|