Exemplo n.º 1
0
        protected void Rejestracja_Click(object sender, EventArgs e)
        {
            bool captcha_ok    = false;
            bool valid_captcha = SprawdzCaptcha();

            if (valid_captcha == false)
            {
                validKod.IsValid      = false;
                validKod.ErrorMessage = "Niepoprawny kod - spróbuj ponownie";
            }
            else
            {
                captcha_ok = true;
            }

            if (captcha_ok == true)
            {
                UsunNieaktUserow.SprawdzNieakt();         //klasa, która usuwa nieaktywnych userów

                String imie;
                String nazwisko;
                String login;
                String haslo;
                int    id_uprawnienia;
                String tel_kom;
                String e_mail;
                int    id_jednostki;

                id_jednostki   = Convert.ToInt32(DropDownListJednostka.SelectedValue.ToString());
                imie           = TextBoxImie.Text;
                nazwisko       = TextBoxNazwisko.Text;
                login          = TextBoxLogin.Text;
                haslo          = TextBoxHaslo.Text;
                id_uprawnienia = Convert.ToInt32(DropDownListUprawnienia.SelectedValue.ToString());
                //.SelectedValue.ToString() to indeks z tabeli
                tel_kom = TextBoxTel.Text;
                e_mail  = TextBoxMail.Text;

                //sprawdzenie, czy istnieje już taki login w bazie (ma być unique)
                Laczenie.Initialize();
                Laczenie.Open();

                if (DaneUzytk.ZwrocIdUser(login) > 0)
                {
                    validacjaLoginu.IsValid = false;    //wyświetlenie komunikatu o powtórzonym loginie
                    //zapisanie do logów
                    Logi.LogFile("Nie zarejestrowano: " + login + "- występuje taki login w bazie");
                    return;
                }

                validTmp.Text = "ok";
                string body        = "";
                int    wynikInsert = 0;
                //dodanie nieaktywnego użytkownika
                string query = "INSERT INTO [dbo].[UZYTK] ([imie],[nazwisko],[login],[haslo],[id_uprawnienia],[tel_kom],[e_mail],[id_jednostka], aktywny) VALUES ('" + imie + "', '" + nazwisko + "', '" + login + "', '" + haslo + "', " + id_uprawnienia + ", '" + tel_kom + "', '" + e_mail + "', " + id_jednostki + ", '" + "False" + "')";

                Laczenie.Open();
                using (SqlCommand command = Laczenie.SqlCommand(query))
                {
                    wynikInsert = command.ExecuteNonQuery();
                }
                Laczenie.Close();

                if (wynikInsert > 0)
                {
                    //zapisanie do logów
                    Logi.LogFile("Poprawnie zarejestrowano: " + login);
                }
                else
                {
                    Logi.LogFile("Nieudana rejestracja (brak insertu): " + login);
                    Response.Redirect("Logowanie.aspx", true);
                }

                //tworzenie kodu aktywacyjnego
                var wynik = WysylanieMaila.KodAktywacyjny(DaneUzytk.ZwrocIdUser(login));
                if (String.IsNullOrEmpty(wynik))
                {
                    //zapisanie do logów
                    Logi.LogFile("Nieudana rejestracja (brak kodu aktywacyjnego): " + login);
                    Response.Redirect("Logowanie.aspx", true);
                }
                else
                {
                    String link_akt = Request.Url.AbsoluteUri.Replace("Rejestracja.aspx", "Logowanie.aspx?KodAktyw=" + wynik);
                    body  = "<br /><br /> Witaj " + login + ",";
                    body += "<br /><br />Kliknij w poniższy link w celu aktywacji";
                    body += "<br /><a href = '" + link_akt + "'>Kliknij, by aktywować konto.</a>";
                }

                //wysyłanie maila
                bool wyslane = WysylanieMaila.Mail("*****@*****.**", e_mail, "Aktywacja konta", body);
                if (wyslane == true)
                {
                    //zapisanie do logów
                    Logi.LogFile("Rejestracja: " + login + " - wysłano maila z linkiem aktywacyjnym");
                    Session["rejestracja"] = "true";
                    Response.Redirect("Logowanie.aspx", true);
                }
                else
                {
                    //zapisanie do logów
                    Logi.LogFile("Nieudana rejestracja (mail nie został wysłany): " + login);
                    Session["rejestracja"] = "false";
                    Response.Redirect("Logowanie.aspx", true);
                }
            }
        }
Exemplo n.º 2
0
        protected void ZapomnHasla_Click(object sender, EventArgs e)
        {
            String login;

            login = LoginTextBox.Text.ToString();
            String id_uzytk = string.Empty;
            String aktywny  = string.Empty;

            string query = "select id_uzytk, aktywny from [dbo].[UZYTK] where login='******'";

            Laczenie.Initialize();
            Laczenie.Open();
            using (SqlCommand command = Laczenie.SqlCommand(query))
            {
                SqlDataReader reader = command.ExecuteReader();
                if (reader.Read())
                {
                    id_uzytk = reader.GetInt32(0).ToString();
                    aktywny  = reader.GetBoolean(1).ToString();
                }
                reader.Close();
            }
            Laczenie.Close();

            if (aktywny == "False")
            {
                LabelBrakDostepu.Text    = "Brak dostępu: nieaktywny login (sprawdź maila z linkiem aktywacyjnym)";
                LabelBrakDostepu.Visible = true;
                //zapisanie do logów
                Logi.LogFile("Nieaktywny login: "******"UPDATE [dbo].[UZYTK] SET haslo = '" + nowe_haslo + "' where login='******'";

                    Laczenie.Open();
                    using (SqlCommand command1 = Laczenie.SqlCommand(query1))
                    {
                        wynik_insert = command1.ExecuteNonQuery();
                        //zapisanie do logów
                        Logi.LogFile("Zmiana hasła - SQL: " + query1);
                    }
                    Laczenie.Close();

                    if (wynik_insert > 0)
                    {
                        bool wyslane = WysylanieMaila.Mail("*****@*****.**", wynik.Item3, "Reset hasła", "Nowe hasło to " + nowe_haslo);
                        if (wyslane)
                        {
                            LabelWyslanoMaila.Visible = true;
                            //zapisanie do logów
                            Logi.LogFile("Zmiana hasła: " + login + " - wysłano maila z nowym hasłem");
                        }
                        else
                        {
                            //zapisanie do logów
                            Logi.LogFile("Nieudana zmiana hasła (mail nie został wysłany): " + login);
                            LabelWyslanoMaila.Text      = "Wystąpił błąd - spróbuj ponownie";
                            LabelWyslanoMaila.ForeColor = System.Drawing.ColorTranslator.FromHtml("Red");
                            LabelWyslanoMaila.Visible   = true;
                        }
                    }
                    else
                    {
                        //zapisanie do logów
                        Logi.LogFile("Nieudana zmiana hasła (update nie został wykonany): " + login);
                        LabelBrakDostepu.Text    = "Wystąpił błąd - spróbuj ponownie";
                        LabelBrakDostepu.Visible = true;
                    }
                }
            }
        }