首页 / 网页编程 / ASP.NET / ASP.NET安全问题--Forms验证(后篇)--实战篇
ASP.NET安全问题--Forms验证(后篇)--实战篇2011-02-21 Cnblogs 小洋今天话题如下:验证流程讲述数据库准备代码编写验证流程讲述我们首先假设一个场景:用户现在已经打开了我们的首页Default.aspx,但是有些资源只能是登录用户才可以看到的,那么如果这个用户想要查看这些资源,那么他就要登录。而且这个用户已经有了一个帐号。(我们本篇主要的话题是身份验证,至于创建用户账户是怎么创建的,我们不关心,方法很多,如直接一个数据库插入就行了!)我们现在就把我们的一些流程说下:1.用户登录,在输入框中输入用户名和密码信息2.点击登录按钮后,到数据库中查询该用户是否存在3 如果存在,服务器端代码就创建一个身份验证的票据,保存在cookie中,然后发送到客户端的浏览器4.用户已经有了验证的cookie,那么就页面就跳转到用户之前请求的页面数据库准备那么下面我们就开始详细讲述:首先,我们我们肯定要先得创建一个数据库,我们就取名为Login表,创建一个用户信息表,我们在在表中建立三个字段UserName,UserPassword,UserRole(大家可以创建更多字段,我这里只是演示,大家可以扩展的). 至于表中的数据,大家自己随便插入几条!代码编写因为我们常常要验证用户,所以我们把验证用户的代码写成一个方法放在App_Code目录下的Helpers.cs类中代码如下:验证代码public static bool ValidateUser(string username, string password) { SqlConnection con = new SqlConnection(); con.ConnectionString = ConfigurationManager.ConnectionStrings[“MyConnectionString”].ConnectionString; SqlCommand com = new SqlCommand(); com.Connection = con; com.CommandText = “Select Count(*) From Users Where Username=@Username and UserPassword=@Password”; com.Parameters.AddWithValue(“@Username”, username); com.Parameters.AddWithValue(“@Password”, password); con.Open(); int cnt = (int)com.ExecuteScalar(); con.Close(); return (cnt > 0); }
收藏该网址