package br.com.doctors.controller.administracao; import br.com.caelum.vraptor.*; import br.com.doctors.dao.administracao.PerfilUsuarioDao; import br.com.doctors.modelo.administracao.PerfilUsuario; import br.com.doctors.modelo.administracao.UsuarioInvalidoException; import br.com.doctors.util.UserSession; @Resource public class LoginController { private PerfilUsuarioDao usuarioDao; private Result result; private Validator validator; private UserSession userSession; public LoginController(PerfilUsuarioDao usuarioDao, Result result, Validator validator, UserSession userSession) { this.usuarioDao = usuarioDao; this.result = result; this.validator = validator; this.userSession = userSession; } // public void index(){ // // } @Path("/teste") public void teste(){ } @Get @Path("/login") public void login(){ //result.redirectTo(this).index(); } // deprecated??? @Post @Path("/logar") public void logar(PerfilUsuario perfilUsuario, String j_username, String j_password){ // convencao spring security System.out.println("Logou.." + j_username); System.out.println(perfilUsuario); // validator.checking(perfilUsuario.getValidations()); // validator.onErrorUsePageOf(this).login(); // procura por usu�rio PerfilUsuario user = null; try { user = usuarioDao.logar(perfilUsuario); userSession.carregaUsuario(user); result.redirectTo("/"); // redireciona p�gina principal } catch (UsuarioInvalidoException e) { e.printStackTrace(); // adicionando temporariamente //result.include("errors",new Object[]{"Login e/ou senha inv�lidos."}); result.forwardTo(this).login(); } } @Path("/logado") public void logado(){ result.redirectTo("/"); } @Get @Path("/logout") public void logout(){ userSession.carregaUsuario(null); result.redirectTo("/"); } }