예제 #1
0
        public static void changeRole(User user)
        {
            try
            {
                deletePrivliges(user);
                String connStr = ConfigurationManager.ConnectionStrings["inzSNMConnectionString"].ConnectionString;

                    using (SqlConnection Sqlcon = new SqlConnection(connStr))
                    {

                        using (SqlCommand cmd = new SqlCommand())
                        {
                            Sqlcon.Open();
                            cmd.Connection = Sqlcon;
                            cmd.CommandType = CommandType.StoredProcedure;
                            cmd.CommandText = "CHANGE_ROLE";

                            cmd.Parameters.Add("@LOGIN", SqlDbType.VarChar);
                            cmd.Parameters["@LOGIN"].Value = user.login;

                            cmd.Parameters.Add("@ID_ROLE", SqlDbType.Int);
                            cmd.Parameters["@ID_ROLE"].Value = user.rola.roleId;

                            cmd.ExecuteNonQuery();
                            Sqlcon.Close();

                        }
                    }

            }
            catch (Exception e)
            {
                throw new Exception("Zmiana uprawnień się nie powiodła!");
            }
        }
예제 #2
0
 protected void ResetPwdButton_Click(object sender, EventArgs e)
 {
     User user = new User();
     user.login = LoginTxt.Text;
     inzPJATKSNM.Controllers.AuthenticationController.resetPassToken(user);
     Response.Redirect("ResetPassword.aspx");
 }
예제 #3
0
 protected void ChangesButton_Click(object sender, EventArgs e)
 {
     User user = new User();
     user.login = Login1Txt.Text;
     user.token = TokenTxt.Text;
     inzPJATKSNM.Controllers.AuthenticationController.resetPass(user, user.token);
     Response.Redirect("LogInView.aspx");
 }
예제 #4
0
 protected void LogInButton_Click(object sender, EventArgs e)
 {
     User user = new User();
     user.login = LoginTxt.Text;
     user.haslo = TextBox2.Text;
     if (inzPJATKSNM.Controllers.AuthenticationController.checkUser(user, user.haslo))
     {
         Response.Redirect("ShowSurveys.aspx");
     }
 }
예제 #5
0
 protected void AcceptButton_Click(object sender, EventArgs e)
 {
     User user = new User();
     Rola role = new Rola();
     user.login = EmailTxt.Text;
     user.imie = NameTxt.Text;
     user.nazwisko = SurnameTxt.Text;
     role.roleId =Int32.Parse(RoleDDL.SelectedValue);
     user.rola = role;
     try
     {
         inzPJATKSNM.Controllers.AuthenticationController.saveUser(user);
     }
     catch (Exception ex)
     {
         Response.Redirect("NewUserView.aspx?err=" + ex);
     }
 }
예제 #6
0
        public static void changePriviledges(User user)
        {
            try
            {
                deletePrivliges(user);
                String connStr = ConfigurationManager.ConnectionStrings["inzSNMConnectionString"].ConnectionString;
                foreach (Uprawnienia uprawnienie in user.uprawnieniaUsera)
                {
                    using (SqlConnection Sqlcon = new SqlConnection(connStr))
                    {

                        using (SqlCommand cmd = new SqlCommand())
                        {
                            Sqlcon.Open();
                            cmd.Connection = Sqlcon;
                            cmd.CommandType = CommandType.StoredProcedure;
                            cmd.CommandText = "CHANGE_PRIVILEDGE";

                            cmd.Parameters.Add("@ID_USER", SqlDbType.Int);
                            cmd.Parameters["@ID_USER"].Value = user.userId;

                            cmd.Parameters.Add("@ID_PRIV", SqlDbType.Int);
                            cmd.Parameters["@ID_PRIV"].Value = uprawnienie.uprawnienieId;

                            cmd.ExecuteNonQuery();
                            Sqlcon.Close();

                        }
                    }
                }

            }
            catch (Exception e)
            {
                throw new Exception("Zmiana uprawnień się nie powiodła!");
            }
        }
예제 #7
0
        public static void sendResetPassTokenEmail(User user,String token)
        {
            String subject = "Reset hasła w systemie ankiet SNM";
             String body = "Otrzymaliśmy prośbę o reset hasła w systemie ankiet SNM.\n Jeśli to nie Ty " + user.imie + " ją wysłałeś prosimy o natychmiastowe skontakotowanie się z Administratorem lub o wiadomość na adres [email protected] \n Twój token to: " + token + "\nProsimy o wpisanie go w odpowiednie pole w celu zresetowania hasła. \nPozdrawiamy, zespół systemu ankiet SNM";
             try
             {
                 MailMessage message = new MailMessage();
                 message.From = new MailAddress("*****@*****.**");
                 message.To.Add(new MailAddress(user.login));
                 message.Subject = subject;
                 message.Body = body;

                 SmtpClient client = new SmtpClient();
                 client.Send(message);
             }
             catch (Exception e)
             {
                 throw new Exception("Błąd podczas wysyłania maila resetującego hasło");
             }
        }
예제 #8
0
        public static void sendRegisterEmail(User user)
        {
            String subject = "Witamy w platformie ankiet wydziału Sztuki Nowych Mediów PJATK!";
            String body = "Witamy " + user.imie + "na platformie ankiet, \n Właśnie Twoje konto zostało utworzone w systemie! \n Od dzisiaj możesz logować się do systemu. \n Twój login: "******" \n Twoje hasło: " + user.haslo + "\nPo zalogowaniu się do aplikacji prosimy o zmianę hasła w zakładce zmień dane. \n Pozdrawiamy, \n zespół systemu ankiet SNM";
            try
            {
                MailMessage message = new MailMessage();
                message.From = new MailAddress("*****@*****.**");
                message.To.Add(new MailAddress(user.login));
                message.Subject = subject;
                message.Body = body;

                SmtpClient client = new SmtpClient();
                client.Send(message);
            }
            catch (Exception e)
            {
                throw new Exception("Błąd podczas wysyłania maila rejestracyjnego");
            }
        }
예제 #9
0
        public static void sendDeleteUserEmail(User user,User administrator)
        {
            String subject = "Usunięcie użytkownika "+user.login;
            String body = "Użytkownik "+ user.login + " został usunięty. Od tego momentu nie może się logować do systemu.\n Pozdrawiamy, \n zespół systemu ankiet SNM";
            try
            {
                MailMessage message = new MailMessage();
                message.From = new MailAddress("*****@*****.**");
                message.To.Add(new MailAddress(user.login,administrator.login));
                message.Subject = subject;
                message.Body = body;

                SmtpClient client = new SmtpClient();
                client.Send(message);
            }
            catch (Exception e)
            {
                throw new Exception("Błąd podczas wysyłania maila o usunięciu użytkownika hasło");
            }
        }
예제 #10
0
        public static void saveUser(User user)
        {
            user.haslo = passGen();
             try{
                String connStr = ConfigurationManager.ConnectionStrings["inzSNMConnectionString"].ConnectionString;
                using (SqlConnection Sqlcon = new SqlConnection(connStr))
                {

                    using (SqlCommand cmd = new SqlCommand())
                    {
                        Sqlcon.Open();
                        cmd.Connection = Sqlcon;
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.CommandText = "INSERT_USER";

                        cmd.Parameters.Add("@LOGIN", SqlDbType.VarChar);
                        cmd.Parameters["@LOGIN"].Value = user.login;

                        cmd.Parameters.Add("@PWD", SqlDbType.VarChar);
                        cmd.Parameters["@PWD"].Value = encryptPass(user.haslo);

                        cmd.Parameters.Add("@NAME", SqlDbType.VarChar);
                        cmd.Parameters["@NAME"].Value = user.imie;

                        cmd.Parameters.Add("@SURNAME", SqlDbType.VarChar);
                        cmd.Parameters["@SURNAME"].Value = user.nazwisko;

                        cmd.Parameters.Add("@ID_ROLE", SqlDbType.Int);
                        cmd.Parameters["@ID_ROLE"].Value = user.rola.roleId;

                        cmd.ExecuteNonQuery();
                        Sqlcon.Close();

                    }
            }
            }
            catch (Exception e)
            {
                throw new Exception("Dodawanie użytkowmnika się nie powiodło!");
            }
             sendRegisterEmail(user);
        }
예제 #11
0
        public static void resetPassToken(User user)
        {
            String token = generateToken();
                 try
                 {
                     String connStr = ConfigurationManager.ConnectionStrings["inzSNMConnectionString"].ConnectionString;
                     using (SqlConnection Sqlcon = new SqlConnection(connStr))
                     {

                         using (SqlCommand cmd = new SqlCommand())
                         {
                             Sqlcon.Open();
                             cmd.Connection = Sqlcon;
                             cmd.CommandType = CommandType.StoredProcedure;
                             cmd.CommandText = "UPDATE_TOKEN";

                             cmd.Parameters.Add("@LOGIN", SqlDbType.VarChar);
                             cmd.Parameters["@LOGIN"].Value = user.login;

                             cmd.Parameters.Add("@TOKEN", SqlDbType.VarChar);
                             cmd.Parameters["@TOKEN"].Value = token;

                             cmd.ExecuteNonQuery();
                             Sqlcon.Close();

                         }
                     }
                 }
                 catch (Exception e)
                 {
                     throw new Exception("Reset hasła się nie powiódł");
                 }
                 sendResetPassTokenEmail(user,token);
        }
예제 #12
0
        public static void resetPass(User user,String token)
        {
            if (token.Equals(user.token))
            {
                user.haslo = passGen();
                try
                {
                    String connStr = ConfigurationManager.ConnectionStrings["inzSNMConnectionString"].ConnectionString;
                    using (SqlConnection Sqlcon = new SqlConnection(connStr))
                    {

                        using (SqlCommand cmd = new SqlCommand())
                        {
                            Sqlcon.Open();
                            cmd.Connection = Sqlcon;
                            cmd.CommandType = CommandType.StoredProcedure;
                            cmd.CommandText = "RESET_PASS";

                            cmd.Parameters.Add("@LOGIN", SqlDbType.VarChar);
                            cmd.Parameters["@LOGIN"].Value = user.login;

                            cmd.Parameters.Add("@PWD", SqlDbType.VarChar);
                            cmd.Parameters["@PWD"].Value = encryptPass(user.haslo);

                            cmd.ExecuteNonQuery();
                            Sqlcon.Close();

                        }
                    }
                }
                catch (Exception e)
                {
                    throw new Exception("Reset hasła się nie powiódł");
                }
                sendResetPassEmail(user);
            }
            else
            {
                throw new Exception("Nieprawidłowa token! Hasło nie zostało zmienione");
            }
        }
예제 #13
0
        public static User getUser(String login)
        {
            User user = new User();
            Rola role = new Rola();
            String connStr = ConfigurationManager.ConnectionStrings["inzSNMConnectionString"].ConnectionString;
              //  try
              //  {
                using (SqlConnection Sqlcon = new SqlConnection(connStr))
                {
                    using (SqlCommand cmd = new SqlCommand("GET_USER", Sqlcon))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;
                            SqlParameter outPutParameter = new SqlParameter();

                            cmd.Parameters.Add("@ID_USER", SqlDbType.Int);
                            cmd.Parameters["@ID_USER"].Direction = ParameterDirection.Output;
                            cmd.Parameters.Add("@LOGIN", SqlDbType.VarChar);
                            cmd.Parameters["@LOGIN"].Direction = ParameterDirection.Output;
                            cmd.Parameters["@LOGIN"].Size = 250;
                            cmd.Parameters.Add("@PWD", SqlDbType.VarChar);
                            cmd.Parameters["@PWD"].Direction = ParameterDirection.Output;
                            cmd.Parameters["@PWD"].Size = 250;
                            cmd.Parameters.Add("@NAME", SqlDbType.VarChar);
                            cmd.Parameters["@NAME"].Direction = ParameterDirection.Output;
                            cmd.Parameters["@NAME"].Size = 250;
                            cmd.Parameters.Add("@SURNAME", SqlDbType.VarChar);
                            cmd.Parameters["@SURNAME"].Direction = ParameterDirection.Output;
                            cmd.Parameters["@SURNAME"].Size = 250;
                            cmd.Parameters.Add("@TOKEN", SqlDbType.VarChar);
                            cmd.Parameters["@TOKEN"].Direction = ParameterDirection.Output;
                            cmd.Parameters["@TOKEN"].Size = 250;
                            cmd.Parameters.Add("@ID_ROLE", SqlDbType.Int);
                            cmd.Parameters["@ID_ROLE"].Direction = ParameterDirection.Output;
                            // try
                            // {
                            Sqlcon.Open();
                            cmd.Parameters.Add("@LOGIN2", SqlDbType.VarChar);
                            cmd.Parameters["@LOGIN2"].Value = login;
                            cmd.Parameters["@LOGIN2"].Size = 100;

                            cmd.ExecuteNonQuery();
                            user.userId = Convert.ToInt32(cmd.Parameters["@ID_USER"].Value);
                            user.login = cmd.Parameters["@LOGIN"].Value.ToString();
                            user.haslo = cmd.Parameters["@PWD"].Value.ToString();
                            user.imie = cmd.Parameters["@NAME"].Value.ToString();
                            user.nazwisko = cmd.Parameters["@SURNAME"].Value.ToString();
                            user.token = cmd.Parameters["@TOKEN"].Value.ToString();
                            role.roleId = Convert.ToInt32(cmd.Parameters["@ID_ROLE"].Value);
                            user.rola = role;
                            user.rola.roleId = role.roleId;

                        }
                        Sqlcon.Close();
                    }
              //  }
             //   catch (Exception e)
               // {
             //   throw new Exception("Autor o podanym loginie nie istnieje w systemie!");
            //}
            return user;
        }
예제 #14
0
        public static void editUser(User user)
        {
            try
            {
                String connStr = ConfigurationManager.ConnectionStrings["inzSNMConnectionString"].ConnectionString;
                using (SqlConnection Sqlcon = new SqlConnection(connStr))
                {

                    using (SqlCommand cmd = new SqlCommand())
                    {
                        Sqlcon.Open();
                        cmd.Connection = Sqlcon;
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.CommandText = "UPDATE_USER";

                        cmd.Parameters.Add("@PWD", SqlDbType.VarChar);
                        cmd.Parameters["@PWD"].Value = encryptPass(user.haslo);

                        cmd.ExecuteNonQuery();
                        Sqlcon.Close();

                    }
                }
            }
            catch (Exception e)
            {
                throw new Exception("Zmiana danych użytkownika się nie powiodła!");
            }
        }
예제 #15
0
        public static void deleteUser(User user, User administrator)
        {
            if(administrator.rola.roleId==1){
                try
                {
                    String connStr = ConfigurationManager.ConnectionStrings["inzSNMConnectionString"].ConnectionString;
                    using (SqlConnection Sqlcon = new SqlConnection(connStr))
                    {

                        using (SqlCommand cmd = new SqlCommand())
                        {
                            Sqlcon.Open();
                            cmd.Connection = Sqlcon;
                            cmd.CommandType = CommandType.StoredProcedure;
                            cmd.CommandText = "DELETE_USER";

                            cmd.Parameters.Add("@LOGIN", SqlDbType.VarChar);
                            cmd.Parameters["@LOGIN"].Value = user.login;

                            cmd.ExecuteNonQuery();
                            Sqlcon.Close();

                        }
                    }
                }
                catch (Exception e)
                {
                    throw new Exception("Usunięcie użytkowmnika się nie powiodło!");
                }
                sendDeleteUserEmail(user,administrator);
            }
        }
예제 #16
0
        public static Boolean checkUser(User user,String haslo)
        {
            Boolean isValid = false;
            String encryptedPass = getUser(user.login).haslo;
            String passPassed = encryptPass(haslo);
            if(encryptedPass.Equals(passPassed))
            {
                return true;
            }

            return isValid;
        }