Beispiel #1
0
    protected void btnOK_Click(object sender, EventArgs e)
    {
        DataView lg;

        SqlLogin.SelectParameters["LOGIN"].DefaultValue = cripto.Encrypt(txtLogin.Text);
        SqlLogin.SelectParameters["SENHA"].DefaultValue = cripto.Encrypt(txtSenha.Text);

        lg = (DataView)SqlLogin.Select(DataSourceSelectArguments.Empty);

        if (lg.Table.Rows.Count == 0)
        {
            Response.Redirect("Default.aspx");
            lblErro.Text = "Usuário nao cadastrado";
        }
        else
        {
            Session["logado"] = "OK";
            Response.Redirect("telaCompras.aspx");
        }
    }
Beispiel #2
0
    protected void login(object sender, EventArgs e)
    {
        try{
            //Declarando as Variaveis
            DataView dvLogin, dvFunc;
            Session["log"]   = null;
            Session["admin"] = null;

            //Getting UI Data
            string login    = txtUsername.Text;
            string password = txtPassword.Text;

            string encryptedLogin    = Crypto.Encrypt(login);
            string encryptedPassword = Crypto.Encrypt(password);

            //Verificando o Login
            SqlLogin.SelectParameters["LOGIN"].DefaultValue = encryptedLogin;
            SqlLogin.SelectParameters["SENHA"].DefaultValue = encryptedPassword;

            dvLogin = (DataView)SqlLogin.Select(DataSourceSelectArguments.Empty);

            //Verificando o Usuário
            if (dvLogin.Table.Rows.Count > 0)
            {
                //Carregando log com o id do Funcionario
                Session["log"] = Convert.ToInt32((dvLogin.Table.Rows[0]["id_func"]).ToString());
                //Obtendo Funcionario
                dvFunc = (DataView)SqlFunc.Select(DataSourceSelectArguments.Empty);

                // Verificando se é Administrador
                if (Convert.ToInt32((dvFunc.Table.Rows[0]["id_cargo"]).ToString()) == 1)
                {
                    Session["admin"] = "true";
                }
                else
                {
                    Session["admin"] = null;
                }
                //Guardando o id do Funcionario
                Session["log"] = dvFunc.Table.Rows[0]["id_func"].ToString();
                Response.Redirect("~/app/home.aspx");

                // AUDITORIA
                // Gravando Ação no `userlog`
                string curretUser = Session["log"].ToString();
                string acao       = "Start Session";
                // Transformando a data no padrão internacional
                string currentDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");

                userLog.InsertParameters["funcionario"].DefaultValue = (curretUser);
                userLog.InsertParameters["acao"].DefaultValue        = Crypto.Encrypt(acao);
                userLog.InsertParameters["time"].DefaultValue        = Crypto.Encrypt(currentDate);

                // Inserindo as informações
                userLog.Insert();
            }
            //Falha na Autênticação
            else
            {
                //Limpando os campos
                txtUsername.Text = String.Empty;
                txtPassword.Text = String.Empty;
                Response.Write("<script>alert('Login ou senha incorretos!');</script>");

                // Adicionando uma tentativa na session logAttempt
                if (Session["failedLogAttempts"] != null)
                {
                    int    failedAttempts = Convert.ToInt32(Session["failedLogAttempts"].ToString());
                    string jsFailed       = failedAttempts.ToString();
                    Session["failedLogAttempts"] = failedAttempts + 1;
                }
                else
                {
                    // Adicionando a primeira falha
                    Session["failedLogAttempts"] = 1;
                }
            }
        }
        catch (Exception ex) {
            // ERRO NA CONEXÃO COM O BANCO DE DADOS
            Response.Write("<script>function dbError() {if (confirm('Ocorreu um erro no banco de dados interno. Você pode detalhar o erro para nossos desenvolvedores?')) {window.open('mailto:[email protected]?subject=Erro+no+Banco+de+Dados&body=Por+favor+detalhe+o+que+estava+fazendo+ao+se+deparar+com+o+erro');}else{alert('Uma menssagem de erro genérica foi enviada ao Desenvolvedor');}} dbError();</script>");
        }
    }