Exemplo n.º 1
0
 public int Register()
 {
     if (m_username.Length >= Variable.MinLength.UserName &&
         m_password.Length >= Variable.MinLength.Password &&
         new Regex(Variable.Regix.Email).IsMatch(m_email.ToLower()))
     {
         string salt = Guid.NewGuid().ToString();
         object uid  = MariaDBHelper.ExecuteScalar(
             "RegisterUser",
             CommandType.StoredProcedure,
             new MySqlParameter("UserName", m_username),
             new MySqlParameter("Salt", salt),
             new MySqlParameter("UserNameHash", MariaDBHelper.GetHashCode(m_username + salt)),
             new MySqlParameter("PasswordHash", MariaDBHelper.GetHashCode(m_password + salt)),
             new MySqlParameter("UserRole", Variable.UserRole.user),
             new MySqlParameter("Status", Variable.State.User.inActived),
             new MySqlParameter("Email", m_email),
             new MySqlParameter("RegisterTime", DateTime.Now)
             );
         return(Convert.ToInt32(uid));
     }
     else
     {
         return(-1);
     }
 }
Exemplo n.º 2
0
        public int Login()
        {
            string salt = string.Empty, passwordHash = string.Empty;

            MariaDBHelper.ExecuteReader(
                "GetUserByUsername",
                CommandType.StoredProcedure,
                (MySqlDataReader dataReader) =>
            {
                if (dataReader.Read())
                {
                    salt         = MariaDBHelper.GetData(dataReader, "Salt");
                    passwordHash = MariaDBHelper.GetData(dataReader, "PasswordHash");
                }
            },
                new MySqlParameter("UserName", m_username)
                );
            if (m_username.Length <= Variable.MinLength.UserName &&
                m_password.Length <= Variable.MinLength.Password)
            {
                return(-1);
            }
            else if (MariaDBHelper.GetHashCode(m_password + salt) == passwordHash)
            {
                object loginId = MariaDBHelper.ExecuteScalar(
                    "LoginUser",
                    CommandType.StoredProcedure,
                    new MySqlParameter("Ticket", m_ticket),
                    new MySqlParameter("UserName", m_username),
                    new MySqlParameter("LoginIP", m_loginIp),
                    new MySqlParameter("LoginTime", DateTime.Now),
                    new MySqlParameter("Status", Variable.State.Login.valid)
                    );
                return(Convert.ToInt32(loginId));
            }
            else
            {
                return(0);
            }
        }