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









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














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

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