예제 #1
0
        protected void btnModifica_Click(object sender, EventArgs e)
        {
            if (txtPassword.Text == "" || txtPasswordR.Text == "")
            {
                lblErrore.Text = "Password non valida";
            }
            else if (txtPasswordR.Text != txtPassword.Text)
            {
                lblErrore.Text = "Password non corrispondenti";
            }
            else
            {
                // Controllo campi di Input
                if (txtPassword.Text.Contains("'") || txtPassword.Text.Contains("\"") ||
                    txtPasswordR.Text.Contains("'") || txtPasswordR.Text.Contains("\""))
                {
                    lblErrore.Text = "Caratteri non validi.";
                    return;
                }

                string value = Request.QueryString["url"];
                if (value != null)
                {
                    adoNet ado = new adoNet();
                    string sql = "SELECT idPersonale FROM LinkPasswordPersonale WHERE url = '" + value + "' AND DATEDIFF(hour, dataRichiesta, GETDATE()) <= 24";
                    string res = ado.eseguiScalar(sql, System.Data.CommandType.Text);
                    if (res != "")
                    {
                        sql = "UPDATE Personale SET pwd = '" + SHA.GenerateSHA512String(txtPassword.Text) + "' WHERE id = " + res;
                        ado.eseguiNonQuery(sql, System.Data.CommandType.Text);
                        sql = "UPDATE LinkPasswordPersonale SET modifica = 1 WHERE idPersonale = " + res + " AND url = '" + value + "'";
                        ado.eseguiNonQuery(sql, System.Data.CommandType.Text);
                        Response.Redirect("./Login.aspx");
                    }
                    else
                    {
                        sql = "SELECT idGenitore FROM LinkPasswordGenitori WHERE url = '" + value + "' AND DATEDIFF(hour, dataRichiesta, GETDATE()) <= 24";
                        res = ado.eseguiScalar(sql, System.Data.CommandType.Text);
                        if (res != "")
                        {
                            sql = "UPDATE Genitori SET pwd = '" + SHA.GenerateSHA512String(txtPassword.Text) + "' WHERE id = " + res;
                            ado.eseguiNonQuery(sql, System.Data.CommandType.Text);
                            sql = "UPDATE LinkPasswordGenitori SET modifica = 1 WHERE idGenitore = " + res + " AND url = '" + value + "'";
                            ado.eseguiNonQuery(sql, System.Data.CommandType.Text);
                            Response.Redirect("./Login.aspx");
                        }
                        else
                        {
                            Response.Redirect("./Login.aspx");
                        }
                    }
                }
                else
                {
                    Response.Redirect("./Login.aspx");
                }
            }
        }
        protected void btnLogin_Click(object sender, EventArgs e)
        {
            if (txtEmailUser.Text == "")
            {
                lblErrore.Text = "Utente non valido";
            }
            else if (txtPasswordUser.Text == "")
            {
                lblErrore.Text = "Password non valida";
            }
            else
            {
                // Controllo campi di Input
                if (txtEmailUser.Text.Contains("'") || txtEmailUser.Text.Contains("\"") ||
                    txtPasswordUser.Text.Contains("'") || txtPasswordUser.Text.Contains("\""))
                {
                    lblErrore.Text = "Caratteri non validi.";
                    return;
                }

                // Crea stringa SQL per verificare validità Utente/password
                string sql = @"select ruolo, Personale.id, idCentro
                        from FreqPersonale
                        inner join Personale on idPersonale = Personale.id 
                        inner join Turni on idTurno = Turni.id
                        where email = '" + txtEmailUser.Text + "' " +
                             "and pwd = '" + txtPasswordUser.Text + "' " +
                             "and anno = " + DateTime.Now.Year;

                adoNet    adoWeb = new adoNet();
                DataTable codice = adoWeb.eseguiQuery(sql, CommandType.Text);

                if (codice.Rows.Count == 0)
                {
                    sql = @"select id
                        from Genitori
                        where email = '" + txtEmailUser.Text + "' " +
                          "and pwd = '" + SHA.GenerateSHA512String(txtPasswordUser.Text) + "' ";
                    string codiceG = adoWeb.eseguiScalar(sql, CommandType.Text);

                    if (codiceG != string.Empty)
                    {
                        Session["ruolo"] = "G";
                        Session["id"]    = codiceG;
                        sql                 = @"select idCentro
                        from Turni
inner join FreqBambini on idTurno = Turni.id
inner join ParenteleBambini on FreqBambini.idBambino = ParenteleBambini.idBambino
inner join Genitori on Genitori.id = ParenteleBambini.idGenitore
                        where Genitori.id = " + codiceG + " AND Turni.anno = " + DateTime.Now.Year;
                        codiceG             = adoWeb.eseguiScalar(sql, CommandType.Text);
                        Session["idCentro"] = codiceG;
                        Session.Timeout     = 180;
                        if (Request.UrlReferrer.ToString().Contains("Loggato"))
                        {
                            Response.Redirect(Request.UrlReferrer.ToString());
                        }
                        else
                        {
                            Response.Redirect("./Loggato/Index.aspx");
                        }
                    }
                    else
                    {
                        lblErrore.Text = "ATTENZIONE!!! Utente e/o password non validi";
                    }
                }
                else
                {
                    // creazione session
                    Session["ruolo"]    = codice.Rows[0]["ruolo"];
                    Session["id"]       = codice.Rows[0]["Personale.id"];
                    Session["idCentro"] = codice.Rows[0]["idCentro"];
                    Session.Timeout     = 180;
                    if (Request.UrlReferrer.ToString().Contains("Loggato"))
                    {
                        Response.Redirect(Request.UrlReferrer.ToString());
                    }
                    else
                    {
                        Response.Redirect("./Loggato/Index.aspx");
                    }
                }
            }
        }