第9章 用戶和角色管理_第1頁
第9章 用戶和角色管理_第2頁
第9章 用戶和角色管理_第3頁
第9章 用戶和角色管理_第4頁
第9章 用戶和角色管理_第5頁
已閱讀5頁,還剩72頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第9章用戶和角色管理1編輯課件本章要點(diǎn):了解Windows驗(yàn)證;掌握Forms驗(yàn)證掌握網(wǎng)站管理工具的應(yīng)用掌握登錄系列控件的應(yīng)用掌握常用的Membership和Roles類的方法2編輯課件目錄9.1身份驗(yàn)證和授權(quán)9.1.1Windows驗(yàn)證9.1.2Forms驗(yàn)證9.2成員資格和角色管理概述9.2.1成員資格管理9.2.2角色管理9.3利用網(wǎng)站管理工具實(shí)現(xiàn)成員資格和角色管理3編輯課件目錄9.4利用登錄系列控件建立平安頁9.4.1Login控件9.4.2CreateUserWizard控件9.4.3LoginName控件9.4.4LoginStatus控件9.4.5LoginView控件9.4.6ChangePassword控件9.4.7PasswordRecovery控件9.5調(diào)用Membership類和Roles類進(jìn)行用戶角色管理9.6小結(jié)4編輯課件9.1身份驗(yàn)證和授權(quán)身份驗(yàn)證:要告知效勞器發(fā)出請求的用戶是誰。授權(quán):需確定用戶能訪問哪些資源。身份驗(yàn)證方式:Windows驗(yàn)證、Passport驗(yàn)證、None驗(yàn)證和Forms驗(yàn)證。5編輯課件9.1.1Windows驗(yàn)證基于Windows操作系統(tǒng)用戶和用戶組,適合于企業(yè)內(nèi)部站點(diǎn)使用。要運(yùn)用Windows驗(yàn)證,效勞器端和客戶端都必須是Windows操作系統(tǒng),且Web效勞器的硬盤格式必須是NTFS。6編輯課件9.1.1Windows驗(yàn)證〔續(xù)〕Windows驗(yàn)證方式依靠IIS來執(zhí)行所需的用戶驗(yàn)證,包括匿名身份驗(yàn)證、集成Windows身份驗(yàn)證、Windows域效勞器的摘要身份驗(yàn)證和根本身份驗(yàn)證等。訪問WindowsIdentity和WindowsPrincipal對象可獲取驗(yàn)證用戶的信息。需配合使用Windows的NTFS訪問控制列表〔ACL〕。7編輯課件配置網(wǎng)站W(wǎng)indows驗(yàn)證右擊某站點(diǎn)→“屬性〞→“目錄平安性〞→單擊“身份驗(yàn)證和訪問控制〞中“編輯〞8編輯課件配置網(wǎng)站W(wǎng)indows驗(yàn)證〔續(xù)〕在Windows中新建一個(gè)用戶組,例如“Website〞。在“Website〞組中創(chuàng)立假設(shè)干用戶。設(shè)置站點(diǎn)對應(yīng)文件夾的授權(quán)。9編輯課件配置網(wǎng)站W(wǎng)indows驗(yàn)證〔續(xù)〕配置站點(diǎn)的web.config文件,代碼如下:<system.web> <authenticationmode="Windows"/> <identityimpersonate="true"/></system.web>10編輯課件配置網(wǎng)站W(wǎng)indows驗(yàn)證〔續(xù)〕在聯(lián)網(wǎng)的另一臺(tái)計(jì)算機(jī)訪問站點(diǎn)中網(wǎng)頁時(shí),要求輸入用戶名和密碼。通過身份驗(yàn)證后才能訪問相應(yīng)的網(wǎng)頁。11編輯課件9.1.2Forms驗(yàn)證適合于Internet站點(diǎn),是多數(shù)Web應(yīng)用程序使用的方式。Forms驗(yàn)證本身并不能進(jìn)行驗(yàn)證,只是使用自定義的用戶界面收集用戶信息,再通過自定義代碼實(shí)現(xiàn)驗(yàn)證。在使用時(shí),需配合使用ASP.NET成員資格和角色管理。其中,成員資格用于管理用戶,角色用于管理授權(quán)。12編輯課件9.1.2Forms驗(yàn)證〔續(xù)〕用戶利用Forms驗(yàn)證訪問受保護(hù)資源步驟用戶請求受保護(hù)的網(wǎng)頁,如Default.aspx;ASP.NET調(diào)用Forms驗(yàn)證效勞獲取用戶請求,并檢查其中是否包含用戶憑據(jù);如果未發(fā)現(xiàn)任何用戶憑據(jù),將自動(dòng)轉(zhuǎn)向用戶登錄頁面,如Login.aspx;初次請求的網(wǎng)頁地址Default.aspx將以ReturnUrl值〔ReturnUrl是QueryString中的鍵值對〕的形式,附加在登錄網(wǎng)頁Login.aspx的地址后。當(dāng)用戶通過驗(yàn)證后,ASP.NET將根據(jù)ReturnUrl值把頁面重定向到Default.aspx。13編輯課件9.1.2Forms驗(yàn)證〔續(xù)〕Forms驗(yàn)證的配置<authenticationmode="Forms"><formsname="Hstear" loginUrl="Login.aspx" timeout="40"/></authentication>14編輯課件<forms>配置節(jié)屬性說明表屬性說明name指定用于身份驗(yàn)證的HTTPCookie名。默認(rèn)值為.ASPXAUTH。loginUrl指定在未找到身份驗(yàn)證信息時(shí)需重定向的頁面地址,通常是登錄頁面地址。默認(rèn)值Login.aspx。path指定身份驗(yàn)證Cookie存放路徑。默認(rèn)值為“/”。protection指定身份地址Cookie使用的加密類型。15編輯課件<forms>配置節(jié)屬性說明表〔續(xù)〕requireSSL邏輯值,指定是否需要SSL連接傳輸身份驗(yàn)證Cookie。slidingExpiration邏輯值,指定是否使用彈性時(shí)間。timeout指定身份驗(yàn)證Cookie的過期時(shí)間。defaultUrl指定用戶通過身份驗(yàn)證后需重定向的頁面地址。默認(rèn)值為Default.aspx。cookieless指定是否使用Cookie以及使用Cookie的方式。16編輯課件9.1.2Forms驗(yàn)證〔續(xù)〕FormsAuthentication類:該類提供的屬性與<forms>配置節(jié)中的屬性有對應(yīng)關(guān)系,可以通過訪問類的屬性獲取<forms>配置節(jié)中的屬性值。還有,該類提供的方法能夠管理Forms驗(yàn)證,如RedirectFromLoginPage()將經(jīng)過身份驗(yàn)證的用戶重定向到最初請求的URL;RedirectToLoginPage()將未經(jīng)過身份驗(yàn)證的用戶重定向到登錄頁面等。17編輯課件9.2成員資格和角色管理概述成員資格管理功能與登錄控件和Forms驗(yàn)證結(jié)合使用,可以提供完善的用戶管理功能。配合使用角色管理,可以較好地提供授權(quán)管理功能。18編輯課件9.2.1成員資格管理能創(chuàng)立和管理用戶信息。提供的類能方便地驗(yàn)證用戶提交的用戶名和密碼。ASP.NET3.5還實(shí)現(xiàn)了成員資格管理與個(gè)性化用戶配置、角色管理等功能的集成。19編輯課件9.2.1成員資格管理〔續(xù)〕基于提供程序模型構(gòu)建首先,開發(fā)人員使用登錄系列控件構(gòu)建獲取用戶信息的界面。其次,由登錄系列控件調(diào)用成員資格管理類中實(shí)現(xiàn)驗(yàn)證的方法。最后,成員資格管理類中的對象將與成員管理提供程序交互,要求其對成員管理數(shù)據(jù)庫進(jìn)行操作。20編輯課件9.2.1成員資格管理〔續(xù)〕成員管理數(shù)據(jù)庫以ASPNETDB.mdf存儲(chǔ)在App_Data文件夾下。與成員資格管理密切相關(guān)的數(shù)據(jù)表是aspnet_Users和aspnet_Membership。表aspnet_Users存儲(chǔ)了用戶的局部信息,而aspnet_Membership存儲(chǔ)了用戶的詳細(xì)信息。成員資格管理的配置由web.config中<membership>配置節(jié)實(shí)現(xiàn)。21編輯課件

<provides>的<add>配置節(jié)屬性說明表屬性說明name指定成員資格提供程序的名稱。type指定成員資格提供程序的類型。connectionStringName指定成員資格提供程序使用的連接數(shù)據(jù)庫字符串。applicationName指定使用成員數(shù)據(jù)庫的Web應(yīng)用程序名稱。enablePasswordRetrieval邏輯值,指定是否支持取回密碼功能。默認(rèn)值為false。22編輯課件<provides>的<add>配置節(jié)屬性說明表〔續(xù)〕enablePasswordReset邏輯值,指定是否支持重置密碼功能。默認(rèn)值為true。requiresQuestionAndAnswer邏輯值,指定當(dāng)重置或取回密碼時(shí),是否需要輸入密碼提示問題。默認(rèn)值為true。requiresUniqueEmail邏輯值,指定存儲(chǔ)在數(shù)據(jù)庫中的電子郵件是否唯一。默認(rèn)值為false。passwordFormat指定密碼的存儲(chǔ)格式。默認(rèn)值為Hashed。23編輯課件<provides>的<add>配置節(jié)屬性說明表〔續(xù)〕maxInvalidPasswordAttempts指定允許密碼或密碼提示問題連續(xù)不成功測試的最多次數(shù)。默認(rèn)值為5。passwordAttemptWindow指定跟蹤失敗的嘗試所用的時(shí)間。默認(rèn)值為10分鐘。minRequiredPasswordLength指定密碼中必須包含字符的最小數(shù)量,值范圍在1~128之間。默認(rèn)值為1。minRequiredNonalphanumericCharacters指定密碼中必須包含的特殊字符的最小數(shù)量。默認(rèn)值為1。passwordStrengthRegularExpression指定用于密碼的正則表達(dá)式。24編輯課件連接字符串存放位置說明在SqlDataSource控件的定義中<asp:SqlDataSourceID="SqlDataSource1"runat="server"ConnectionString="DataSource=.\SQLEXPRESS;AttachDbFilename=“E:\Book\MyPetShop.mdf〞; PersistSecurityInfo=True; UserID=saa;Password=sdf@~1;ConnectTimeout=30; UserInstance=False"ProviderName="System.Data.SqlClient"SelectCommand="SELECT*FROM[Category]"></asp:SqlDataSource>25編輯課件9.2.1成員資格管理〔續(xù)〕Membership類:主要實(shí)現(xiàn)用戶驗(yàn)證,創(chuàng)立、管理以及獲取或設(shè)置<membership>配置節(jié)中相關(guān)的屬性值。MembershipUser類:主要獲取或設(shè)置用戶信息功能。26編輯課件9.2.2角色管理角色是指具有相同權(quán)限的一類用戶或用戶組,與授權(quán)有密切關(guān)系。基于角色的授權(quán)方式將訪問權(quán)限與角色關(guān)聯(lián),然后,角色再與用戶關(guān)聯(lián)。管理人員授權(quán)時(shí),是為角色授權(quán),其影響的是角色中的多個(gè)用戶。在實(shí)際使用時(shí),需要根據(jù)不同角色對網(wǎng)頁進(jìn)行分類,并存放到不同的文件夾中。然后,再利用網(wǎng)站管理工具對不同文件夾設(shè)置不同的訪問規(guī)那么實(shí)現(xiàn)角色授權(quán)。27編輯課件9.2.2角色管理〔續(xù)〕ASP.NET3.5角色管理能方便地創(chuàng)立和管理角色信息,如創(chuàng)立新角色、為用戶分配角色、刪除用戶角色、獲取角色信息等。能支持使用Cookie緩存角色信息,以防止頻繁訪問數(shù)據(jù)源。28編輯課件9.2.2角色管理〔續(xù)〕角色管理與成員資格管理一樣基于提供程序模型構(gòu)建。首先利用登錄系列控件實(shí)現(xiàn)用戶登錄、角色管理等用戶界面。然后,調(diào)用角色管理對象實(shí)現(xiàn)角色管理功能。最后將角色信息存儲(chǔ)到數(shù)據(jù)庫。29編輯課件9.2.2角色管理〔續(xù)〕角色管理信息存儲(chǔ)于ASPNETDB.mdf,其中與角色有密切關(guān)系的數(shù)據(jù)表是aspnet_Roles和aspnet_UsersInRoles。aspnet_Roles存儲(chǔ)角色信息,而aspnet_UsersInRoles存儲(chǔ)用戶和角色的聯(lián)系信息。角色管理的配置通過web.config中的<roleManager>配置節(jié)實(shí)現(xiàn)30編輯課件9.2.2角色管理〔續(xù)〕Roles類:訪問其屬性能獲取或設(shè)置<roleManager>配置節(jié)中的屬性值,調(diào)用其方法可創(chuàng)立新角色、刪除角色等。31編輯課件9.3利用網(wǎng)站管理工具實(shí)現(xiàn)成員資格和角色管理

32編輯課件平安設(shè)置向?qū)?3編輯課件平安設(shè)置向?qū)А怖m(xù)〕34編輯課件平安設(shè)置向?qū)А怖m(xù)〕35編輯課件平安設(shè)置向?qū)А怖m(xù)〕36編輯課件平安設(shè)置向?qū)А怖m(xù)〕37編輯課件訪問規(guī)那么說明

<?xmlversion="1.0"encoding="utf-8"?><configuration><system.web><authorization><allowroles="Admin"/><denyroles="Member"/><denyusers="?"/></authorization></system.web></configuration>

38編輯課件9.4利用登錄系列控件建立平安頁任何利用身份驗(yàn)證來實(shí)現(xiàn)用戶登錄,并由此訪問受保護(hù)資源的Web站點(diǎn),都需要一系列注冊登錄界面來完成用戶身份驗(yàn)證等任務(wù)。經(jīng)常需要的功能包括用戶登錄、創(chuàng)立新用戶、顯示登錄狀態(tài)、顯示登錄用戶名、更新或重置密碼等。39編輯課件9.4.1Login控件用于實(shí)現(xiàn)登錄界面,允許自定義界面外觀,與成員資格管理緊密集成。使用時(shí),主要通過設(shè)置屬性而不需要編寫代碼就能夠?qū)崿F(xiàn)登錄驗(yàn)證功能。實(shí)質(zhì)是一個(gè)“用戶控件〞,通常必須包括:用于輸入用戶名的文本框、用于輸入密碼的文本框和用于提交用戶憑證的按鈕。40編輯課件9.4.1Login控件〔續(xù)〕有很強(qiáng)的自定義擴(kuò)展能力,主要包括:自定義找回密碼頁面的提示文字和超鏈接、自定義創(chuàng)立新用戶頁面的提示文字和超鏈接、自定義“下次登錄時(shí)記住〞的CheckBox控件、自定義模板等等。<asp:LoginID="Login1"runat="server">……</asp:Login>41編輯課件Login控件的主要屬性表屬性說明CreateUserText指定“創(chuàng)建新用戶”鏈接顯示的文本。CreateUserUrl指定“創(chuàng)建新用戶”鏈接的URL。DestinationPageUrl指定用戶登錄成功時(shí)需重定向的URL。DisplayRememberMe邏輯值,指定是否顯示“記住我”復(fù)選框。默認(rèn)值為True。FailureAction指定登錄失敗時(shí)采取的操作。值RedirectToLoginPage表示重定向到自定義用戶登錄頁面;值Refresh表示刷新頁面并顯示錯(cuò)誤提示信息。42編輯課件Login控件的主要屬性表〔續(xù)〕Password獲取用戶提交的密碼。PasswordRecoveryText指定“密碼恢復(fù)”鏈接顯示的文本。PasswordRecoveryUrl指定“密碼恢復(fù)”鏈接的URL。RemberMeSet指定是否選中“記住我”復(fù)選框。UserName獲取或設(shè)置用戶名文本框的內(nèi)容。VisibleWhenLoggedIn邏輯值,指定用戶登錄成功后Login控件是否可見。默認(rèn)值為True。43編輯課件實(shí)例9-1建立登錄頁面當(dāng)輸入用戶名和密碼后,單擊“登錄〞按鈕,假設(shè)用戶名和密碼正確那么鏈接到Default.aspx,否那么給出錯(cuò)誤提示信息;單擊“注冊新用戶〞鏈接到NewUser.aspx;單擊“忘記密碼了?〞鏈接到GetPwd.aspx。源代碼:Login.aspx44編輯課件9.4.2CreateUserWizard控件實(shí)質(zhì)是一個(gè)專用于創(chuàng)立新用戶的Wizard控件,與成員資格管理緊密集成,能快速的在成員數(shù)據(jù)表中創(chuàng)立新用戶。<asp:CreateUserWizardID="CreateUserWizard1"runat="server"><WizardSteps><asp:CreateUserWizardSteprunat="server"/><asp:CompleteWizardSteprunat="server"/></WizardSteps></asp:CreateUserWizard>45編輯課件9.4.2CreateUserWizard控件〔續(xù)〕CreateUserWizard控件使用時(shí)要與web.config中的<membership>配置節(jié)屬性信息結(jié)合。要求輸入的密碼為強(qiáng)密碼〔即密碼至少7個(gè)字符、至少包括一個(gè)字母和至少包括一個(gè)非數(shù)字非字母的特殊符號〕,設(shè)置屬性minRequiredPasswordLength、minRequiredNonalphanumericCharacters。要顯示“平安提示問題〞和“平安答案〞,需要設(shè)置屬性requiresQuestionAndAnswer。46編輯課件9.4.2CreateUserWizard控件〔續(xù)〕屬性MailDefinition:代表了MailDefinition類的一個(gè)對象。MailDefinition類提供了定義一封E-mail需要的所有屬性,如屬性From指定郵件從哪里發(fā)出;屬性Subject指定郵件的主題;屬性BodyFileName指定要發(fā)送郵件的文本等。在使用BodyFileName時(shí),首先需定義一個(gè).txt文件,如ThankEmail.txt。該文件可包含一些特殊表達(dá)式如<%userName%>和<%userpassword%>用來代替注冊的用戶名和密碼。47編輯課件9.4.2CreateUserWizard控件〔續(xù)〕要發(fā)送電子郵件,還要配置<>。<mailSettings><smtpdeliveryMethod="Network"><networkdefaultCredentials="false"host="smtp.126"port="25"userName="jxssg"password="……"/></smtp></mailSettings>48編輯課件9.4.2CreateUserWizard控件〔續(xù)〕CreateUserWizard控件的發(fā)送郵件功能還可與屬性AutoGeneratePassword屬性結(jié)合,用于驗(yàn)證用戶注冊的電子郵箱是否正確。49編輯課件CreateUserWizard控件的主要屬性和事件表

屬性和事件說明ActiveStepIndex獲取或設(shè)置當(dāng)前步驟的索引值,值從0開始。Answer獲取或設(shè)置對密碼問題的答案。ConfirmPassword獲取用戶輸入的確認(rèn)密碼。ContinueDestinationPageUrl獲取或設(shè)置在用戶單擊成功頁上的繼續(xù)按鈕后將重定向到頁面的URL地址。DisableCreatedUser邏輯值,指定是否允許新用戶登錄到網(wǎng)站。默認(rèn)值為false。50編輯課件CreateUserWizard控件的主要屬性和事件表〔續(xù)〕Email獲取或設(shè)置用戶輸入的電子郵件地址。LoginCreatedUser邏輯值,指定是否在創(chuàng)建用戶后登錄新用戶。默認(rèn)值為true。Password獲取用戶輸入的密碼。Question獲取或設(shè)置用戶輸入的密碼問題。UserName獲取或設(shè)置用戶輸入的用戶名。CreatedUser事件在成員資格程序創(chuàng)建了新用戶后被觸發(fā)。51編輯課件實(shí)例9-2建立新用戶當(dāng)新用戶填入注冊信息后,假設(shè)符合設(shè)置的規(guī)那么,那么單擊“創(chuàng)立新用戶〞按鈕將把該用戶參加到一般的成員角色“Member〞中,并給用戶發(fā)送感謝注冊網(wǎng)站的郵件,再將網(wǎng)頁重定向到Login.aspx;當(dāng)新用戶填入的信息不符合設(shè)置的規(guī)那么時(shí),給出相應(yīng)的出錯(cuò)提示信息。感謝注冊網(wǎng)站的郵件文本:ThankEmail.txt源程序:NewUser.aspx52編輯課件9.4.3LoginName控件用于用戶登錄驗(yàn)證之后,顯示登錄的用戶名。實(shí)際上LoginName顯示的是System.Web.UI.Page.User.Identity.Name的屬性值。不僅可以顯示通過Forms驗(yàn)證的用戶名,還可以顯示其它登錄驗(yàn)證之后的用戶名。<asp:LoginNameID="LoginName1"runat="server"/>53編輯課件9.4.3LoginName控件〔續(xù)〕LoginName控件的屬性FormatString用于格式化輸出的用戶名。如假設(shè)設(shè)置FormatString=“Welcome,{0}〞,那么對已登錄用戶名admin,將在頁面上顯示“Welcome,admin〞。54編輯課件9.4.4LoginStatus控件實(shí)現(xiàn)用戶登錄狀態(tài)之間的切換。如果HttpRequest.IsAuthenticated屬性返回值為true,那么表示用戶通過驗(yàn)證,處于已登錄狀態(tài),默認(rèn)顯示“注銷〞;否那么表示處于未登錄狀態(tài),默認(rèn)顯示“登錄〞。<asp:LoginStatusID="LoginStatus1"runat="server"/>55編輯課件9.4.4LoginStatus控件〔續(xù)〕當(dāng)未登錄用戶單擊“登錄〞時(shí)將鏈接到網(wǎng)站根文件夾下的Login.aspx,因此,需要將該文件存放到根文件夾下。當(dāng)?shù)卿浻脩魡螕簟白N〞時(shí)將由LoginStatus控件的屬性LogoutAction確定操作方式,值Refresh表示刷新頁面;值Redirect表示重定向到LogoutPageUrl屬性定義的頁面;值RedirectToLoginPage表示重定向到web.config中<forms>配置節(jié)的屬性loginUrl定義的登錄頁面。56編輯課件9.4.4LoginStatus控件〔續(xù)〕事件LoggingOut:在單擊注銷按鈕時(shí)被觸發(fā),常用于當(dāng)用戶必須完成某一項(xiàng)活動(dòng)后才能離開網(wǎng)站的情形。假設(shè)未完成該項(xiàng)活動(dòng),那么可以通過設(shè)置LoginCancelEventArgs參數(shù)的屬性Cancel值設(shè)置為true,到達(dá)取消注銷過程的目的。事件LoggedOut:在注銷完成后被觸發(fā),常用于釋放數(shù)據(jù)庫連接等。57編輯課件9.4.5LoginView控件根據(jù)匿名用戶、登錄用戶或不同角色的用戶顯示不同的頁面內(nèi)容。<asp:LoginViewID="LoginView1"runat="server">……</asp:LoginView>58編輯課件9.4.5LoginView控件〔續(xù)〕AnonymousTemplate:用于設(shè)置匿名用戶顯示的視圖內(nèi)容;LoggedInTemplate:用于設(shè)置已登錄站點(diǎn),但不屬于屬性RoleGroups指定的包含于任何角色的用戶顯示的視圖內(nèi)容;RoleGroups:用于設(shè)置具有特定角色的用戶顯示的視圖內(nèi)容。當(dāng)一個(gè)用戶屬于多個(gè)角色時(shí),應(yīng)用程序的執(zhí)行將對RoleGroups中的集合進(jìn)行搜索,然后顯示第一個(gè)匹配的模板內(nèi)容。59編輯課件實(shí)例9-3利用LoginView顯示不同界面源程序:Default.aspx程序說明:當(dāng)用戶未登錄時(shí)直接瀏覽Default.aspx可看到匿名用戶界面。單擊“登錄〞鏈接到網(wǎng)站根文件夾下的Login.aspx,以不同角色用戶登錄后瀏覽器再跳轉(zhuǎn)到Default.aspx,此時(shí)可看到對應(yīng)角色的不同界面效果。60編輯課件9.4.6ChangePassword控件用于修改用戶的登錄密碼。件集成了成員資格管理功能,支持兩種情況的修改密碼。一種是用戶登錄后,提交舊密碼和新密碼來完成密碼修改工作;另一種是用戶不登錄站點(diǎn),此時(shí)需提交用戶名、舊密碼和新密碼完成密碼修改工作。支持向用戶發(fā)送包含密碼已修改提示信息的電子郵件。61編輯課件9.4.6ChangePassword控件〔續(xù)〕<asp:ChangePassword ID="ChangePassword1"runat="server"> </asp:ChangePassword>要允許未登錄用戶修改密碼,需設(shè)置屬性DisplayUserName值為true。內(nèi)置了兩個(gè)視圖:更改密碼視圖和成功視圖。62編輯課件實(shí)例9-4修改用戶密碼源程序:ChangePwd.aspx63編輯課件9.4.7PasswordRecovery控件適用于用戶喪失密碼后,需要找回或重置密碼的情況。與成員資格管理功能集成,有兩種工作方式。一種是找回原有密碼,這種模式需要將<membership>配置節(jié)的屬性passwordFormat值設(shè)置為Clear或Encrypted;另一種是得到重置密碼,這種模式需設(shè)置passwordFormat值為Hashed。因經(jīng)過Hash計(jì)算的密碼不可恢復(fù),所以第二種方式只能由系統(tǒng)隨機(jī)產(chǎn)生一個(gè)新密碼。最后,控件將找回或重置的密碼通過電子郵件通知用戶。64編輯課件9.4.7PasswordRecovery控件〔續(xù)〕<asp:PasswordRecovery ID="PasswordRecovery1"runat="server"> </asp:PasswordRecovery>使用PasswordRecovery控件時(shí),除與屬性passwordFormat有關(guān)外,還與<membership>配置節(jié)中其它的屬性有關(guān)。例如,如果已設(shè)置requiresQuestionAndAnswer值為true,那么用戶在找回密碼的過程中將被要求答復(fù)平安問題。PasswordRecovery控件內(nèi)置了三個(gè)視圖:用戶名視圖、提示問題視圖和成功視圖。65編輯課件實(shí)例9-5重置用戶密碼輸入用戶名,再輸入平安問題答案。假設(shè)輸入的用戶名和平安問題答案均正確,將給用戶發(fā)送包含重置密碼的電子郵件。源程序:GetPwd.aspx66編輯課件9.5調(diào)用Membership類和Roles類進(jìn)行用戶角色管理

登錄系列控件能快速地創(chuàng)立用戶管理的平安頁,但對刪除用戶、角色管理等無能為力。這些功能需要直接調(diào)用Membership類和Roles類的相關(guān)方法實(shí)現(xiàn)。67編輯課件Membership類提供的典型方法CreateUser():添加一個(gè)新用戶。DeleteUser():刪除一個(gè)指定用戶。FindUsersByEmail():根據(jù)輸入的電子郵件參數(shù)獲取相關(guān)的用戶信息集合。GeneratePassword():創(chuàng)立一個(gè)特定長度的隨機(jī)密碼。GetAllUsers():獲取所有用戶的信息集合。ValidateUser():實(shí)現(xiàn)對用戶的驗(yàn)證。68編輯課件Roles類提供的典型方法AddUsersToRole():將多個(gè)用戶分配到一個(gè)角色中。RemoveUserFromRole():從一個(gè)角色中刪除一個(gè)用戶。CreateRole():創(chuàng)立一個(gè)新角色。DeleteRole():刪除一個(gè)指定的角色。69編輯課件Roles

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論