- ASP.NET項目開發全程實錄(第4版)
- 明日科技
- 998字
- 2019-12-06 12:04:46
2.7 后臺登錄模塊設計
2.7.1 后臺登錄模塊概述
在網站前臺頁面底部設置了進入后臺登錄頁的“后臺入口”。后臺登錄頁面主要是用來對進入網站后臺的用戶進行安全性檢查,以防止非法用戶進入該系統的后臺。同時使用了驗證碼技術,防止使用注冊機惡意登錄本站后臺。后臺登錄頁面運行效果如圖2.27所示。

圖2.27 后臺登錄頁面運行效果
2.7.2 后臺登錄模塊技術分析
在后臺登錄模塊中主要應用了驗證碼技術。
目前,網站為了防止用戶利用機器人自動注冊、登錄、灌水,采用了驗證碼技術。所謂驗證碼,就是一串隨機產生的數字與英文字母組合成的4位字符串。本網站驗證碼如圖2.27所示。
在實現的過程中,將數字、英文字母存儲到字符串變量strchar中,使用String.Split方法以指定的分隔符(逗號)分離字符串strchar,將返回的字符串數組存儲到字符串數組變量VcArray中,最后使用隨機類Random成員方法Next(int t = rand.Next(61)),根據返回值t來獲取字符串數組VcArray中的字符。詳細代碼如下:
例程24 代碼位置:資源包\TM\02\B2C\B2C\App_Code\CommonClass.cs

注意
剛剛講解的驗證碼,只是為讀者起到了一個拋磚引玉的作用。本網站使用的驗證碼很容易被機器辨別出來,解決該問題的方法為:將驗證碼生成到圖片里,然后在圖片上加一些干擾素,在這樣的情況下,人通過肉眼難以辨別,那么機器將更難以識別。由于篇幅所限,關于這方面的技術這里不再深入講解,讀者可以上網查閱。
2.7.3 后臺登錄模塊實現過程
本模塊使用的數據表:tb_Admin
1. 設計步驟
(1)在該網站中的Manage文件夾下創建一個Web窗體,將其命名為Login.aspx。
(2)在Login.aspx頁中通過使用bootstrap+div為整個頁面進行布局,然后從“工具箱”→“標準”選項卡中拖放3個TextBox控件、一個Label控件和兩個Button按鈕控件。Login.aspx頁中各個控件的屬性設置及其用途如表2.5所示。
表2.5 Login.aspx頁中各個控件的屬性設置及其用途

2. 實現代碼
在該頁的后臺Login.aspx.cs頁中編寫代碼前,首先需要定義CommonClass類對象和DBClass類對象,以便在編寫代碼時,調用該類中的方法。代碼如下:
例程25 代碼位置:資源包\TM\02\B2C\B2C\Manage\Login.aspx
CommonClass ccObj = new CommonClass(); DBClass dbObj=new DBClass();
在Page_Load事件中,調用CommonClass類的RandomNum方法,顯示隨機驗證碼。代碼如下:
例程26 代碼位置:資源包\TM\02\B2C\B2C\Manage\Login.aspx

當用戶輸入完登錄信息時,可以單擊“登錄”按鈕,在該按鈕的Click事件下,首先判斷用戶是否輸入了合法的信息,如果輸入的信息合法,則進入網站后臺,否則彈出對話框,提示用戶重新輸入。代碼如下:
例程27 代碼位置:資源包\TM\02\B2C\B2C\Manage\Login.aspx

代碼貼士
?GetDataSetStr:調用公共類中的GetDataSetStr方法,執行SQL語句,返回一個數據源的數據表。
?dsTable:該對象為DataTable的一個實例對象,其數據為數據源的數據表tbAdmin。
?MessageBox:調用公共類中的MessageBox方法,返回一個對話框信息。