package br.com.triadworks.issuetracker.controller; import java.io.Serializable; import java.util.List; import javax.annotation.PostConstruct; import javax.enterprise.context.RequestScoped; import javax.inject.Inject; import javax.inject.Named; import br.com.triadworks.issuetracker.controller.util.FacesUtils; import br.com.triadworks.issuetracker.model.Usuario; import br.com.triadworks.issuetracker.service.Autenticador; import br.com.triadworks.issuetracker.service.UsuarioService; @Named @RequestScoped public class LoginBean implements Serializable { private String login; private String senha; @Inject private Autenticador autenticador; @Inject private UsuarioWeb usuarioWeb; @Inject private FacesUtils facesUtils; @Inject private UsuarioService usuarioService; public String logar() { Usuario usuario = autenticador.autentica(login, senha); if (usuario != null) { usuarioWeb.loga(usuario); return "/home?faces-redirect=true"; // outcome } facesUtils.adicionaMensagemDeErro("Login ou senha invalida."); return null; } @PostConstruct public void initUser() { List<Usuario> usuarios = usuarioService.listaTudo(); if (usuarios == null || usuarios.isEmpty()) { Usuario admin = new Usuario(); admin.setEmail("admin@admin.com"); admin.setLogin("admin"); admin.setSenha("admin"); admin.setNome("Administrator Godlike"); usuarioService.store(admin); Usuario guest = new Usuario(); guest.setEmail("guest@guest.com"); guest.setLogin("guest"); guest.setSenha("guest"); guest.setNome("Guest"); usuarioService.store(guest); } } public String sair() { usuarioWeb.logout(); return "login"; } public String getLogin() { return login; } public void setLogin(String login) { this.login = login; } public String getSenha() { return senha; } public void setSenha(String senha) { this.senha = senha; } public void setAutenticador(Autenticador autenticador) { this.autenticador = autenticador; } public void setUsuarioWeb(UsuarioWeb usuarioWeb) { this.usuarioWeb = usuarioWeb; } public void setFacesUtils(FacesUtils facesUtils) { this.facesUtils = facesUtils; } }