沒有筆的博課
ASP.NET2.0里內建了7個用戶驗證控件及3個用戶、角色管理類分別是MemberShip MembershipUser Roles如此一來在WEB項目中使用基于FORMS模式的驗證時就不用像以前一樣自已寫一大堆代碼又是判斷又是創建驗證票……現在可幸福了,尤其是剛入門的新手,使用FORMS驗證真是一件輕松而有成就感的事情呀。好了,下面就開始正式講解如何使用NET2.0提供的新技術來做用戶驗證,文章會分成很多篇,基本上每一篇文章講的就是一個實際使用中的頁面,第一篇首先講一下如何創建驗證。
Asp.net2.0和以前一樣還是支持Windows Forms Passport三種身份驗證,默認使用的是Windwos模式,而我們要介紹的是最廣泛使用的FORMS驗證,打開VS2005,新建一個網站,打開VS2005菜單“網站”---“ASP。NET配置”選擇“安全”標簽,“選擇身份驗證類型”---“通過 Internet ”完成后選擇“創建用戶”之會后打開一個注冊用戶的頁面,每一項都要填寫,這里要注意,密碼默認最小7位,而且必需有一個非數字和字母的特殊字符(如標點符號),用戶名可以隨便輸,我們創建這個用戶的是為了讓VS2005自動給我們生成一個名為ASPNETDB.MDF的SQLEXPRESS數據庫,這個數據庫是用來存放用戶數據的,會自動放到你網站下的App_Data文件夾中,這個數據庫在VS2005中可以打開,即使你沒有安裝SQLSERVER。但是請注意不要自己修改這個數據庫的結構,負責在調用MemberShip MembershipUser Roles這幾個類的時候會出錯,這里再多說兩句,SQLEXPRESS是一個簡化的SQLSERVER數據庫,是包含在VS2005里的,我記得這個數據庫好像是免費的,可以從自由微軟網上直接下,它可以使用存儲過程,雖然沒有SQLSERVER功能強大,但是比ACCESS可是強了很多,VS2005里的身份驗證默認是使用這個數據庫,如果你想要使用ACCESS或SQLSERVER數據庫的話,那就必須使用MemberShipPorvider類進行一系列的重寫操作來自定義,有一定的難度,這里我們就不去討論了。
接下來在VS2005里按F5會自動生成一個Web.config,我們在Web.config里修改一下設置:









第一行的mode屬性指定了我們要使用Forms方式進行驗證;第二行name指定Cookie的名稱;如果只有一個WEB程序使用驗證則不用設置此項;第三行指的是默認的登錄頁面地址及名稱;第四行設的是Cookie保護的類型,這個設置通常使用默認;第五行設置COOKIE的過期機制為可調,如果要使用絕對過期就設為false(過期機制的概念在上一篇講緩存時有介紹);第六行設定了過期時間為20分鐘;第七行設定使用驗證的WEB程序的路徑,如果只有一個WEB程序使用驗證則不用修改。
還要加入關于MemberShip的設置:














這個里面的設置比較多,我只設置了其中一部分,minRequiredPasswordLength設定的是密碼的最小長度;minRequiredNonalphanumericCharacters設定的是密碼中包含非字母非數字字符的數量;enablePasswordRetrieval設定是否允許用戶密碼檢索;enablePasswordReset設定是否能對密碼進行重置;requiresQuestionAndAnswer設定是否使用密碼提示問題來取回忘記的密碼;requiresUniqueEmail設定每個注冊用戶的郵件地址能否重復;maxInvalidPasswordAttempts 設定當用戶登錄時輸入密碼錯誤幾次后才對用戶進行鎖定。
好了,現在驗證已經開啟,我們可以在頁面中使用現成的控件進行方便的操作了!下一篇開始講解用戶登錄。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1445665
沒有筆發表于 2006年12月16日 17:49:13
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
