用XML代替數據庫來實現WEB的窗體認証

最近看了一些C#操作XML的資料﹐感覺與操作Sql等沒有什么區別﹐于是簡單地寫了一個加密的用于實現登入Web網頁在認証程序,供大家參考:

1﹑在Form中添加兩個TextBox和一個Button控件﹐一個TextBox ID為UserName,一個為UserPwd.  
2﹑在Form中引入System.Web.Security和System.IO兩個類.  
3﹑開始寫Button的響應代碼:  
      
  private void OK_Click(object sender, System.EventArgs e)  
  {   
    string cmd="UserName='"+UserName.Text.Trim()+"'";  
    DataSet ds=new DataSet();  
    FileStream fs=new FileStream(Server.MapPath("Users.xml"),FileMode.Open,FileAccess.Read);  
    StreamReader reader=new StreamReader(fs);  
    ds.ReadXml(reader);  
    fs.Close();  
    DataTable users=ds.Tables[0];  
    DataRow[] matches=users.Select(cmd);  
    if(matches!=null && matches.Length>0)  
     {  
       DataRow row=matches[0];  
       string hashedpwd=FormsAuthentication.HashPasswordForStoringInConfigFile(UserPwd.Text.Trim(),"SHA1");  
       string pass=(string)row["UserPassword"];  
         if(string.Compare(pass,hashedpwd,false)!= 0)  
           {  
              Response.Write("密碼不正確!");  
           }  
         else  
           {  
            FormsAuthentication.SetAuthCookie(UserEmail.Text,false);  
           Response.Ridirect(“default.aspx“);      
           }  
     }  
     else  
      {  
        Response.Write(“無此用戶!“);        
      }  
    }  
  
3﹑其中的密碼是用了哈稀算法。
Published At
Categories with Web编程
Tagged with
comments powered by Disqus