public String Autenticar(Usuario usuario) { ValidarUsuarioInformado(usuario); Usuario usuarioReposiorio = repositorio.BuscarPorLogin(usuario); if (usuarioReposiorio == null) { throw new ApplicationException("Usuário ou senha incorretos."); } if (!usuarioReposiorio.senha.Equals(GerarHash(usuario))) { throw new ApplicationException("Usuário ou senha incorretos."); } return(GerarJwtToken(usuarioReposiorio)); }
private void bt_verificar_Click(object sender, EventArgs e) { string SenHash = ""; string senha = ""; if (tb_ConfSenha.Text != "") { senha = tb_ConfSenha.Text; } SenHash = Funcoes.GetMd5Hash(senha); //Cria o hash da senha informada //1 - Verifica se o usuário informado no Combo existe no BD e busca os dados dele. userCad = new UsuarioRepositorio(); var user = userCad.BuscarPorLogin(tb_LoginUser.Text); codUser = user.UsuarioId; if (Funcoes.VerifyMd5Hash(user.SenUser, SenHash)) { //Pode Alterar senBack = tb_SenhaUser.Text; tb_SenhaUser.Text = ""; tb_SenhaUser.Enabled = true; lb_ConfSenha.Text = "Confirma Senha"; bt_verificar.Visible = false; tb_ConfSenha.Clear(); tb_SenhaUser.Focus(); bt_trcSenha.Visible = false; bt_verSenha.Visible = true; bt_verConfSenha.Visible = true; } else { MessageBox.Show("A senha Digitada NÃO confere com a senha Atual!", Funcoes.msgCab, MessageBoxButtons.OK, MessageBoxIcon.Information); bt_trcSenha.Visible = true; tb_SenhaUser.Enabled = false; tb_ConfSenha.Visible = false; lb_ConfSenha.Visible = false; bt_verConfSenha.Visible = false; bt_verificar.Visible = false; bt_Gravar.Focus(); bt_trcSenha.Visible = true; } userCad.Dispose(); }
public ActionResult Login(LoginViewModel ViewModel) { if (!ModelState.IsValid) { return(View(ViewModel)); } Usuario _user = new Usuario { Login = ViewModel.Login, Senha = Hash.GerarHash(ViewModel.Senha) }; var usuario = _USREP.BuscarPorLogin(_user); if (usuario == null) { if (_user.Login == ViewModel.Login) { ModelState.AddModelError("Login", "Login Incorreto"); return(View(ViewModel)); } } if (Hash.GerarHash(_user.Senha) != Hash.GerarHash(usuario.Senha)) { ModelState.AddModelError("Senha", "Senha Incorreto"); return(View(ViewModel)); } // logar //ClaimsIdentity utilizamos esta classe para definir caracteristicas, ou seja definir var identity = new ClaimsIdentity(new[] { //aqui e onde dou vida ao cookie de autenticacao. new Claim(ClaimTypes.Name, usuario.Nome), new Claim("Login", usuario.Login) }, "ApplicationCookie"); Request.GetOwinContext().Authentication.SignIn(identity); if (!String.IsNullOrWhiteSpace(ViewModel.UrlRetorno) || Url.IsLocalUrl(ViewModel.UrlRetorno)) { return(Redirect(ViewModel.UrlRetorno)); } else { return(RedirectToAction("Index", "Painel")); } }
public ActionResult AlterarSenha(AlterarSenhaViewModel ViewModel) { if (!ModelState.IsValid) { return(View()); } var identity = User.Identity as ClaimsIdentity; var login = identity.Claims.FirstOrDefault(c => c.Type == "Login").Value; UsuarioRepositorio _USREP = new UsuarioRepositorio(new MSSQLDB()); Usuario usuario = new Usuario { Senha = Hash.GerarHash(ViewModel.SenhaAtual), Login = login }; var user = _USREP.BuscarPorLogin(usuario); if (user == null) { View(); } if (Hash.GerarHash(usuario.Senha) != Hash.GerarHash(user.Senha)) { ModelState.AddModelError("SenhaAtual", "Senha Incorreta"); return(View()); } else { usuario.Senha = Hash.GerarHash(ViewModel.NovaSenha); _USREP.AlterarSenha(usuario); return(RedirectToAction("Index", "Painel")); } TempData["usuario"] = "Senha alterada com sucesso"; }
private void bt_Acessar_Click(object sender, EventArgs e) { int CodUser = 0; string LoginUser = ""; string SenHash = ""; if (cb_Usuarios.Text != "" && tb_senUser.Text != "") { try { if (cb_Usuarios.Text == "ADMIN" && tb_senUser.Text == "BD9854") //Abre a tela para Manutenção no Banco de Dados { //ConexaoSQL conSql = new ConexaoSQL(); //conSql.ShowDialog(); //tb_senUser.Text = ""; //return; } LoginUser = cb_Usuarios.Text; SenHash = Funcoes.GetMd5Hash(tb_senUser.Text); //Cria o hash da senha informada //1 - Verifica se o usuário informado no Combo existe no BD e busca os dados dele. consUser = new UsuarioRepositorio(); var user = consUser.BuscarPorLogin(cb_Usuarios.Text); CodUser = user.UsuarioId; if (CodUser > 0) //Achou o bendito { //2 - Verifica a Senha do bixo if (Funcoes.VerifyMd5Hash(user.SenUser, SenHash)) //Retorna true ou false { consUser.Dispose(); this.Hide(); //Abre o Menu Principal Home home = new Home(CodUser); home.ShowDialog(); //3 - Depois q fechar o Menu carrega o combobox denovo cb_Usuarios.SelectedIndexChanged -= cb_Usuarios_SelectedIndexChanged; consUser = new UsuarioRepositorio(); var usuarios = consUser.GetAll(); cb_Usuarios.SelectedIndexChanged -= cb_Usuarios_SelectedIndexChanged; var User = usuarios.Where(u => u.StaUser == "A" && u.LoginUser != "ADMIN").ToList(); cb_Usuarios.DataSource = User; cb_Usuarios.SelectedIndex = -1; tb_senUser.Clear(); tb_Rodape.ForeColor = SystemColors.Control; tb_Rodape.Text = "Bem Vindo!!!"; //pb_User.Image = pb_User.InitialImage; cb_Usuarios.SelectedIndexChanged += cb_Usuarios_SelectedIndexChanged; this.Show(); } else { tb_Rodape.ForeColor = Color.OrangeRed; tb_Rodape.Text = "Senha Incorreta!!!"; tb_senUser.SelectAll(); tb_senUser.Focus(); } } else { tb_Rodape.ForeColor = Color.OrangeRed; tb_Rodape.Text = "Usuário NÃO Encontrado!!!"; tb_senUser.SelectAll(); tb_senUser.Focus(); } } catch (Exception ex) { MessageBox.Show("Problemas ao consultar o banco de dados!!!\n" + "\nDetalhes abaixo:" + ex.Message, msgCab); Application.Exit(); } } else { if (cb_Usuarios.Text == "" && tb_senUser.Text == "") { tb_Rodape.ForeColor = Color.OrangeRed; //LightSalmon tb_Rodape.Text = "Informe Usuário e Senha!!!"; } else { if (tb_senUser.Text == "") { tb_Rodape.ForeColor = Color.OrangeRed; tb_Rodape.Text = "Informe uma Senha!!!"; } if (cb_Usuarios.Text == "") { tb_Rodape.ForeColor = Color.OrangeRed; tb_Rodape.Text = "Selecione um Usuário!!!"; } } } }