日期:2011-04-29  浏览次数:20456 次

(五)创建Logon.aspx页面
1.在已创建好的项目里创建一个新的Web 窗体,名为Logon.aspx。
2.在编辑器里打开Logon.aspx,切换到HTML视图。
3.复制下面代码,然后在编辑菜单里“选择粘贴为HTML”选项,插入到<form>标签之间。

 

 1<h3>
 2   <font face="Verdana">Logon Page</font>
 3</h3>
 4<table>
 5   <tr>
 6      <td>Email:</td>
 7      <td><input id="txtUserName" type="text" runat="server"></td>
 8      <td><ASP:RequiredFieldValidator ControlToValidate="txtUserName"
 9           Display="Static" ErrorMessage="*" runat="server"
10           ID="vUserName" /></td>
11   </tr>
12   <tr>
13      <td>Password:</td>
14      <td><input id="txtUserPass" type="password" runat="server"></td>
15      <td><ASP:RequiredFieldValidator ControlToValidate="txtUserPass"
16          Display="Static" ErrorMessage="*" runat="server"
17          ID="vUserPass" />
18      </td>
19   </tr>
20   <tr>
21      <td>Persistent Cookie:</td>
22      <td><ASP:CheckBox id="chkPersistCookie" runat="server" autopostback="false" /></td>
23      <td></td>
24   </tr>
25</table>
26<input type="submit" Value="Logon" runat="server" ID="cmdLogin"><p></p>
27<asp:Label id="lblMsg" ForeColor="red" Font-Name="Verdana" Font-Size="10" runat="server" />
28这个页面用来显示一个登录表单以便用户可以提供他们的用户名和密码,并且记录到应用程序中。
4.切换到设计视图,保存这个页面。

(六)编写事件处理代码来验证用户身份
 下面这些代码是放在后置代码页里的(Logon.aspx.cs)
1.双击Logon页面打开Logon.aspx.cs文件。
2.在后置代码文件里导入必要的名空间:
  using System.Data.SqlClient;
  using System.Web.Security;
3.创建一个ValidateUser的函数,通过在数据库中查找用户来验证用户的身份。(请改变数据库连接字符串来指向你的数据库)
 1private bool ValidateUser( string userName, string passWord )
 2{
 3SqlConnection conn;
 4SqlCommand cmd;
 5string lookupPassword = null;
 6
 7// Check for invalid userName.
 8// userName must not be null and must be between 1 and 15 characters.
 9if ( (  null == userName ) || ( 0 == userName.Length ) || ( userName.Length > 15 ) )
10{
11  System.Diagnostics.Trace.WriteLine( "[ValidateUser] Input validation of userName failed." );
12  return false;
13}
14
15// Check for invalid passWord.
16// passWord must not be null and must be between 1 and 25 characters.
17if ( (  null == passWord ) || ( 0 == passWord.Length ) || ( passWord.Length > 25 ) )
18{
19  System.Diagnostics.Trace.WriteLine( "[ValidateUser] Input validation of passWord failed." );
20  return false;
21}
22
23try
24{
25  // Consult with your SQL Server administrator for an appropriate connection
26  // string to use to connect to your local SQL Server.
27  conn = new SqlConnection( "server=localhost;Integrated Security=SSPI;database=pubs" );
28  conn.Open();
29
30  // Create SqlCommand to select pwd field from users table given supplied userName.
31  cmd = new SqlCommand( "Select pwd from users where uname=@userName", conn );
32  cmd.Parameters.Add( "@userName