public ActionResult Login(UsuarioModel usuario) { if (ModelState.IsValid) { var servico = ModuleBuilder.CriarServicoAutenticacao(); var usuarioAutentiado = servico.AutenticacarUsuario(usuario.Email, usuario.Senha); if (usuarioAutentiado != null) { String[] permicoes = new String[2]; foreach (var permissao in usuarioAutentiado.Permissoes) { permicoes[permicoes.Count(t => t != null)] = permissao.Texto; } var logado = new UsuarioLogado(usuarioAutentiado.Email, permicoes); FormsAuthentication.SetAuthCookie(logado.Email, true); Session["USUARIO_LOGADO"] = logado; return RedirectToAction("Index", "Home"); } } ModelState.AddModelError("INVALID_LOGIN", "Usuário ou senha inválidos."); return View("Index", usuario); }
public ActionResult Salvar(UsuarioModel usuario) { if (ModelState.IsValid) { if (!usuario.Senha.Equals(usuario.ConfirmarSenha)) { TempData["SenhaInvalida"] = "As senhas são diferentes!"; return View("CadastroUsuario", usuario); } IUsuarioRepositorio repositorio = new UsuarioRepositorio(); IServicoCriptografia servico = new ServicoCriptografia(); Usuario user = new Usuario() { NomeCompleto = usuario.NomeCompleto, Email = usuario.Email, Senha = servico.CriptografarSenha(usuario.Senha) }; repositorio.Criar(user); TempData["Mensagem"] = "Usuario salvo com sucesso!"; return RedirectToAction("Index", "Home"); } else { TempData["Mensagem"] = "Não foi possivel cadastrar!"; } return View("CadastroUsuario", usuario); }
public ActionResult Logar(UsuarioModel model) { bool podeLogar = ModelState.IsValid; if (podeLogar) { var autenticacao = FabricaDeModulos.CriarServicoAutenticacao(); Usuario usuarioAutenticado = autenticacao.AutenticarUsuario(model.Email, model.Senha); if (usuarioAutenticado != null) { var logado = new Logado(usuarioAutenticado); FormsAuthentication.SetAuthCookie(model.Email, true); Session["USUARIO_LOGADO"] = logado; return RedirectToAction("Index", "Home"); } } ModelState.AddModelError("INVALID_LOGIN", "Usuário ou senha inválidos."); return View("Index", model); }