如题,忘指点~

解决方案 »

  1.   

    到你的邮箱等地方修改一下密码,过程参考那个。逻辑一般都是md5单向加密。保存时,密码加密后存进去,验证时,输入的密码加密后,和数据库中存放的信息进行比较,一致则返回true,反之false
      

  2.   

    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;public partial class EditPwd : System.Web.UI.Page
    {
    private int nUserID = -1; protected void Page_Load(object sender,EventArgs e)
    {
    ///获取参数nUserID的值
    if(Session["UserID"] != null)
    {
    ///获取参数nUserID的值
    if(Int32.TryParse(Session["UserID"].ToString(),out nUserID) == false)
    {
    return;
    }
    }
    else
    {
    Response.Redirect("~/Default.aspx");
    }
    if(!Page.IsPostBack)
    {   ///判断参数是否正确
    if(nUserID > -1)
    {   ///从数据库中读取数据,并显示
    BindUserData(nUserID);
    }
    else
    {
    UpdateBtn.Enabled = false;
    }
    }
    } private void BindUserData(int nUserID)
    {
    ///获取数据
    IUser user = new User();
    SqlDataReader dr = user.GetSingleUser(nUserID); if(dr.Read())
    {   ///读取数据
    UserName.Text = dr["UserName"].ToString();
    }
    ///关闭数据源
    dr.Close();
    } protected void UpdateBtn_Click(object sender,EventArgs e)
    {   ///获取用户数据
    IUser user = new User();
    SqlDataReader dr = user.GetUserLoginByProc(UserName.Text.Trim(),OldPassword.Text.Trim()); ///读取UserID的值
    string sUserID = "";
    if(dr.Read())
    {
    sUserID = dr["UserID"].ToString();
    }
    ///关闭数据源
    dr.Close(); ///判断用户输入的旧密码是否正确
    if(sUserID == null || sUserID == "" || sUserID.Length < 0)
    {
    Response.Write("<script>alert('" + "旧密码输入错误,请重新输入密码!" + "');</script>");
    return;
    } try
    {   ///修改用户密码
    user.UpdateUserPwd(nUserID,NewPassword.Text.Trim());
    Response.Write("<script>alert('" + "修改密码成功,请妥善保管好数据!" + "');</script>");
    }
    catch(Exception ex)
    {   ///跳转到异常错误处理页面
    Response.Redirect("~/ErrorPage.aspx?ErrorMsg=" + ex.Message + "&ErrorUrl=" + Request.Url.ToString());
    }
    } protected void ReturnBtn_Click(object sender,EventArgs e)
    {
    Response.Redirect("~/UserManage.aspx");
    }
    }
      

  3.   

    user.UpdateUserPwd这个方法似乎没写出来
      

  4.   

    IUser类下的方法麻烦再写一下吧~~~
      

  5.   

    都给你了,接住!!!
    using System;
    using System.Data;
    using System.Configuration;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
    using System.Data.SqlClient;
    using System.Security;
    using System.Security.Principal;
    using System.Security.Cryptography;
    using System.Text;public interface IUser
    {
    /// <summary>
    /// 使用SQL语句实现用户登录
    /// </summary>
    /// <param name="sUserName"></param>
    /// <param name="sPassword"></param>
    /// <returns></returns>
    SqlDataReader GetUserLoginBySQL(string sUserName,string sPassword); /// <summary>
    /// 使用存储过程实现用户登录
    /// </summary>
    /// <param name="sUserName"></param>
    /// <param name="sPassword"></param>
    /// <returns></returns>
    SqlDataReader GetUserLoginByProc(string sUserName,string sPassword); /// <summary>
    /// 获取所有用户信息
    /// </summary>
    /// <returns></returns>
    SqlDataReader GetUsers(); /// <summary>
    /// 获取单个用户信息
    /// </summary>
    /// <param name="nUserID"></param>
    /// <returns></returns>
    SqlDataReader GetSingleUser(int nUserID); /// <summary>
    /// 注册一个新用户
    /// </summary>
    /// <param name="sUserName"></param>
    /// <param name="sPassword"></param>
    /// <param name="sEmail"></param>
    /// <returns></returns>
    int AddUser(string sUserName,string sPassword,string sEmail); /// <summary>
    /// 修改用户的信息
    /// </summary>
    /// <param name="nUserID"></param>
    /// <param name="sEmail"></param>
    /// <returns></returns>
    int UpdateUser(int nUserID,string sEmail); /// <summary>
    /// 修改用户密码
    /// </summary>
    /// <param name="nUserID"></param>
    /// <param name="sPassword"></param>
    /// <returns></returns>
    int UpdateUserPwd(int nUserID,string sPassword); /// <summary>
    /// 设置用户的管理员权限
    /// </summary>
    /// <param name="nUserID"></param>
    /// <param name="bIsAdmin"></param>
    /// <returns></returns>
    int UpdateUserAdmin(int nUserID,bool bIsAdmin); /// <summary>
    /// 删除用户
    /// </summary>
    /// <param name="nUserID"></param>
    /// <returns></returns>
    int DeleteUser(int nUserID); /// <summary>
    /// 加密函数
    /// </summary>
    /// <param name="password"></param>
    /// <returns></returns>
    string Encrypt(string password);
    }/// <summary>
    /// User 的摘要说明
    /// </summary>
    public class User : IUser
    {
    private static readonly string GETUSERS = "SELECT * FROM Users";
    private static readonly string GETSINGLEUSER = "SELECT * FROM Users WHERE UserID=";
    private static readonly string ADDUSER = "INSERT INTO Users(UserName,Password,Email,IsAdmin)VALUES";
    private static readonly string UPDATEUSER = "UPDATE Users SET Email=";
    private static readonly string UPDATEUSERADMIN = "UPDATE Users SET IsAdmin=";
    private static readonly string UPDATEUSERPASSWORD = "UPDATE Users SET Password=";
    private static readonly string DELETEUSER = "DELETE Users WHERE UserID=";
    private static readonly string GETUSERLOGINBYSQL = "SELECT UserID FROM Users WHERE UserName =";

    public User()
    {
    ///
    } public SqlDataReader GetUserLoginBySQL(string sUserName,string sPassword)
    {
    ///创建链接
    SqlConnection myConnection = new SqlConnection(
    ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString); ///定义SQL语句
    string cmdText = GETUSERLOGINBYSQL
    + "'" + sUserName.ToString() + "'"
    + " AND Password ="
    + "'" + sPassword.ToString() + "'";
    ///创建Command
    SqlCommand myCommand = new SqlCommand(cmdText,myConnection); ///定义DataReader
    SqlDataReader dr = null;
    try
    {
    ///打开链接
    myConnection.Open();
    ///读取数据
    dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
    }
    catch(SqlException ex)
    {
    ///抛出异常
    throw new Exception(ex.Message,ex);
    }
    ///返回DataReader
    return dr;
    } public SqlDataReader GetUserLoginByProc(string sUserName,string sPassword)
    {
    ///创建链接
    SqlConnection myConnection = new SqlConnection(
    ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString); ///创建Command
    SqlCommand myCommand = new SqlCommand("Pr_GetUserLogin",myConnection);
    ///设置为执行存储过程
    myCommand.CommandType = CommandType.StoredProcedure; ///添加存储过程的参数
    SqlParameter pUserName = new SqlParameter("@UserName",SqlDbType.VarChar,32);
    pUserName.Value = sUserName;
    myCommand.Parameters.Add(pUserName); SqlParameter pPassword = new SqlParameter("@Password",SqlDbType.VarChar,255);
    pPassword.Value = sPassword;
    myCommand.Parameters.Add(pPassword); ///定义DataReader
    SqlDataReader dr = null;
    try
    {
    ///打开链接
    myConnection.Open();
    ///读取数据
    dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
    }
    catch(SqlException ex)
    {
    ///抛出异常
    throw new Exception(ex.Message,ex);
    }
    ///返回DataReader
    return dr;
    } public SqlDataReader GetUsers()
    {
    ///创建链接
    SqlConnection myConnection = new SqlConnection(
    ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);
    ///创建Command
    SqlCommand myCommand = new SqlCommand(GETUSERS,myConnection); ///定义DataReader
    SqlDataReader dr = null;
    try
    {
    ///打开链接
    myConnection.Open();
    ///读取数据
    dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
    }
    catch(SqlException ex)
    {
    ///抛出异常
    throw new Exception(ex.Message,ex);
    }
    ///返回DataReader
    return dr;
    } public SqlDataReader GetSingleUser(int nUserID)
    {
    ///创建链接
    SqlConnection myConnection = new SqlConnection(
    ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString);

    ///定义SQL语句
    string cmdText = GETSINGLEUSER + "'" + nUserID.ToString() + "'";
    ///创建Command
    SqlCommand myCommand = new SqlCommand(cmdText,myConnection); ///定义DataReader
    SqlDataReader dr = null;
    try
    {
    ///打开链接
    myConnection.Open();
    ///读取数据
    dr = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
    }
    catch(SqlException ex)
    {
    ///抛出异常
    throw new Exception(ex.Message,ex);
    }
    ///返回DataReader
    return dr;
    }
      

  6.   

    public int AddUser(string sUserName,string sPassword,string sEmail)
    {
    ///创建链接
    SqlConnection myConnection = new SqlConnection(
    ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString); ///定义SQL语句
    string cmdText = ADDUSER + "("
    + "'" + sUserName + "',"
    + "'" + sPassword + "',"
        + "'" + sEmail + "',"
    + "'0'"
    + ")";
    ///创建Command
    SqlCommand myCommand = new SqlCommand(cmdText,myConnection); ///定义返回值
    int nResult = -1; try
    {
    ///打开链接
    myConnection.Open();
    ///执行SQL语句
    nResult = myCommand.ExecuteNonQuery();
    }
    catch(SqlException ex)
    {
    ///抛出异常
    throw new Exception(ex.Message,ex);
    }
    finally
    {   ///关闭链接
    myConnection.Close();
    }
    ///返回nResult
    return nResult;
    } public int UpdateUser(int nUserID,string sEmail)
    {
    ///创建链接
    SqlConnection myConnection = new SqlConnection(
    ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString); ///定义SQL语句
    string cmdText = UPDATEUSER
    + "'" + sEmail + "'"
    + " WHERE UserID=" + "'"
    + nUserID.ToString() + "'";
    ///创建Command
    SqlCommand myCommand = new SqlCommand(cmdText,myConnection); ///定义返回值
    int nResult = -1; try
    {
    ///打开链接
    myConnection.Open();
    ///执行SQL语句
    nResult = myCommand.ExecuteNonQuery();
    }
    catch(SqlException ex)
    {
    ///抛出异常
    throw new Exception(ex.Message,ex);
    }
    finally
    {   ///关闭链接
    myConnection.Close();
    }
    ///返回nResult
    return nResult;
    } public int UpdateUserPwd(int nUserID,string sPassword)
    {
    ///创建链接
    SqlConnection myConnection = new SqlConnection(
    ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString); ///定义SQL语句
    string cmdText = UPDATEUSERPASSWORD
    + "'" + sPassword + "'"
    + " WHERE UserID=" + "'"
    + nUserID.ToString() + "'";
    ///创建Command
    SqlCommand myCommand = new SqlCommand(cmdText,myConnection); ///定义返回值
    int nResult = -1; try
    {
    ///打开链接
    myConnection.Open();
    ///执行SQL语句
    nResult = myCommand.ExecuteNonQuery();
    }
    catch(SqlException ex)
    {
    ///抛出异常
    throw new Exception(ex.Message,ex);
    }
    finally
    {   ///关闭链接
    myConnection.Close();
    }
    ///返回nResult
    return nResult;
    } public int UpdateUserAdmin(int nUserID,bool bIsAdmin)
    {
    ///创建链接
    SqlConnection myConnection = new SqlConnection(
    ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString); ///定义SQL语句
    string cmdText = UPDATEUSERADMIN
    + "'" + (bIsAdmin ? 1 : 0).ToString() + "'"
    + " WHERE UserID=" + "'"
    + nUserID.ToString() + "'";
    ///创建Command
    SqlCommand myCommand = new SqlCommand(cmdText,myConnection); ///定义返回值
    int nResult = -1; try
    {
    ///打开链接
    myConnection.Open();
    ///执行SQL语句
    nResult = myCommand.ExecuteNonQuery();
    }
    catch(SqlException ex)
    {
    ///抛出异常
    throw new Exception(ex.Message,ex);
    }
    finally
    {   ///关闭链接
    myConnection.Close();
    }
    ///返回nResult
    return nResult;
    } public int DeleteUser(int nUserID)
    {
    ///创建链接
    SqlConnection myConnection = new SqlConnection(
    ConfigurationManager.ConnectionStrings["SQLCONNECTIONSTRING"].ConnectionString); ///定义SQL语句
    string cmdText = DELETEUSER
    + "'" + nUserID.ToString() + "'";
    ///创建Command
    SqlCommand myCommand = new SqlCommand(cmdText,myConnection); ///定义返回值
    int nResult = -1; try
    {
    ///打开链接
    myConnection.Open();
    ///执行SQL语句
    nResult = myCommand.ExecuteNonQuery();
    }
    catch(SqlException ex)
    {
    ///抛出异常
    throw new Exception(ex.Message,ex);
    }
    finally
    {   ///关闭链接
    myConnection.Close();
    }
    ///返回nResult
    return nResult;
    } /// <summary>
    /// 加密函数
    /// </summary>
    public string Encrypt(string password)
    {   
    ///获取Byte数组
    Byte[] clearBytes = new UnicodeEncoding().GetBytes(password);
    ///获取Hash值
    Byte[] hashedBytes = ((HashAlgorithm)CryptoConfig.CreateFromName("MD5")).ComputeHash(clearBytes); ///获取加密后的信息
    return BitConverter.ToString(hashedBytes);
    }
    }
      

  7.   

    大哥,你黑我哦!那么多啊!
    好象用户的操作用不着写这么这么长的Code吧!
    还有你数据层没有独立出来!