示例#1
0
        private LoginResult UsernameRegistered()
        {
            SqlConnection conn      = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString);
            string        selectTxt = "SELECT id FROM users WHERE LOWER(username) LIKE LOWER(@user)";

            conn.Open();

            SqlCommand cmd = new SqlCommand(selectTxt, conn);

            cmd.Parameters.Add(new SqlParameter("@user", TypeCode.String));
            cmd.Parameters["@user"].Value = Username.Text;

            SqlDataReader result = cmd.ExecuteReader();

            if (!result.Read())
            {
                conn.Close();
                return(LoginResult.Unregistered);
            }
            result.Close();
            selectTxt += " AND password like @pass";

            cmd = new SqlCommand(selectTxt, conn);
            string hashedPassword = AuthenticationUtilities.HashPassword(Password.Text);

            cmd.Parameters.Add(new SqlParameter("@user", TypeCode.String));
            cmd.Parameters.Add(new SqlParameter("@pass", TypeCode.String));
            cmd.Parameters["@user"].Value = Username.Text;
            cmd.Parameters["@pass"].Value = hashedPassword;

            result = cmd.ExecuteReader();

            if (result.Read())
            {
                conn.Close();
                return(LoginResult.Success);
            }

            conn.Close();
            return(LoginResult.WrongPassword);
        }