コード例 #1
0
        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));
        }
コード例 #2
0
        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();
        }
コード例 #3
0
        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"));
            }
        }
コード例 #4
0
        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";
        }
コード例 #5
0
ファイル: Acesso.cs プロジェクト: AecioDev/Moda-System
        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!!!";
                    }
                }
            }
        }