程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> 關於C# >> 如何用C#.NET實現基於表單的驗證

如何用C#.NET實現基於表單的驗證

編輯:關於C#
 

這篇文章引用到了Microsoft .NET類庫中的以下名空間:
System.Data.SqlClient
System.Web.Security
-------------------------------
任務:
摘要: 
1.要求
    2.用Visual C#.NET 創建一個ASP.NET 應用程序
3.在Web.config文件裡配置安全設置
4.創建一個數據庫表樣例來存放用戶資料
5.創建Logon.aspx頁面
6.編寫事件處理代碼來驗證用戶身份
7.創建一個Default.aspx頁面
8.附加提示
參考文章
-------------------------------
摘要
 這篇文章示范了如何實現通過數據庫存儲用戶信息來實現基於表單的驗證.
(一)要求
 需要以下工具來實現
1.Microsoft Visual Studio.NET
2.Microsoft Internet Information Services(IIS) version 5.0 或者更新
3.Microsoft SQL Server
(二)用C#.NET創建ASP.NET應用程序
1.打開Visual Studio.NET
2.建立一個新的ASP.NET Web應用程序,並且指定名稱和路徑.
(三)在Web.config文件裡配置安全設置
這一節示范了如何通過添加和修改<authentication>和<authorization>節點來配置ASP.NET應用程序以實現基於表單的驗證.
1.在解決方案窗口裡,打開Web.config文件.
2.把authentication模式改為Forms(注:默認為windows)
3.插入<Forms>標簽,並且填入適當的屬性.(請鏈接到在文章最後列出的MSDN文檔或者QuickStart文檔來查看這些屬性)先復制下面的代碼,接著再把它粘貼到<authentication>節:

<authentication mode="Forms">
<form name=".ASPXFORMSDEMO" loginUrl="logon.aspx" protection="All" path="/" timeout="30"/>
</authentication>
(注:如果不指定loginUrl,默認為default.aspx)

4.通過加入以下節點實現拒絕匿名訪問:
<authentication>
<deny users="?"/>
<allow users="*"/>
</authentication>

(四)創建一個數據庫表樣例來存放用戶資料
這一節示范了如何創建一個示例數據庫來存放用戶名,密碼,和用戶角色.如果你想要實現基於角色的安全就有必要在數據庫中添加一個存放用戶角色的字段.
1.打開記事本。
2.把下面這段腳本復制到記事本然後保存:

if exists (select * from sysobjects where id =
object_id(N'[dbo].[Users]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Users]
GO
CREATE TABLE [dbo].[Users] (
[uname] [varchar] (15) NOT NULL ,
[Pwd] [varchar] (25) NOT NULL ,
[userRole] [varchar] (25) NOT NULL ,
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Users] WITH NOCHECK ADD
CONSTRAINT [PK_Users] PRIMARY KEY NONCLUSTERED
(
[uname]
) ON [PRIMARY]
GO

INSERT INTO Users values('user1','user1','Manager')
INSERT INTO Users values('user2','user2','Admin')
INSERT INTO Users values('user3','user3','User')
GO
3.打開Microsoft SQL Server,打開查詢分析器,在數據庫列表裡選擇Pubs數據庫,然後把上面的腳本粘貼過來,運行。這時會在Pubs數據庫裡創建一個將會在這個示例程序中用到的示例用戶表。
(五)創建Logon.aspx頁面
1.在已創建好的項目裡創建一個新的Web 窗體,名為Logon.aspx。
2.在編輯器裡打開Logon.aspx,切換到HTML視圖。
3.復制下面代碼,然後在編輯菜單裡“選擇粘貼為HTML”選項,插入到<form>標簽之間。
<h3>
<font face="Verdana">Logon Page</font>
</h3>
<table>
<tr>
<td>Email:</td>
<td><input id="txtUserName" type="text" runat ="server"></td>
<td><ASP:RequiredFieldValidator ControlToValidate="txtUserName"
Display="Static" ErrorMessage="*" runat ="server"
ID="vUserName" /></td>
</tr>
<tr>
<td>Password:</td>
<td><input id="txtUserPass" type="password" runat ="server"></td>
<td><ASP:RequiredFieldValidator ControlToValidate="txtUserPass"
Display="Static" ErrorMessage="*" runat ="server"
ID="vUserPass" />
</td>
</tr>
<tr>
<td>Persistent Cookie:</td>
<td><ASP:CheckBox id="chkPersistCookie" runat ="server" autopostback="false" /></td>
<td></td>
</tr>
</table>
<input type="submit" Value="Logon" runat ="server" ID="cmdLogin"><p></p>
<asp:Label id="lblMsg" ForeColor="red" Font-Name="Verdana" Font-Size="10" runat ="server" />

 這個頁面用來顯示一個登錄表單以便用戶可以提供他們的用戶名和密碼,並且記錄到應用程序中。
4.切換到設計視圖,保存這個頁面。

(六)編寫事件處理代碼來驗證用戶身份
 下面這些代碼是放在後置代碼頁裡的(Logon.aspx.cs)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved