.NET开发

本类阅读TOP10

·NHibernate快速指南(翻译)
·vs.net 2005中文版下载地址收藏
·【小技巧】一个判断session是否过期的小技巧
·VB/ASP 调用 SQL Server 的存储过程
·?dos下编译.net程序找不到csc.exe文件
·通过Web Services上传和下载文件
·学习笔记(补)《.NET框架程序设计(修订版)》--目录
·VB.NET实现DirectDraw9 (2) 动画
·VB.NET实现DirectDraw9 (1) 托管的DDraw
·建站框架规范书之——文件命名

分类导航
VC语言Delphi
VB语言ASP
PerlJava
Script数据库
其他语言游戏开发
文件格式网站制作
软件工程.NET开发
用XML代替數據庫來實現WEB的窗體認証

作者:未知 来源:月光软件站 加入时间:2005-2-28 月光软件站

最近看了一些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﹑其中的密碼是用了哈稀算法。



相关文章

相关软件