Web編程技術(shù)-Web安全機制_第1頁
Web編程技術(shù)-Web安全機制_第2頁
Web編程技術(shù)-Web安全機制_第3頁
Web編程技術(shù)-Web安全機制_第4頁
Web編程技術(shù)-Web安全機制_第5頁
已閱讀5頁,還剩56頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

--成員資格與角色管理Web編程技術(shù)潘冰主要內(nèi)容1、Web應(yīng)用程序平安概述2、基于成員資格和角色的網(wǎng)站平安3、利用控件創(chuàng)立平安頁4、編程實現(xiàn)成員管理5、編程實現(xiàn)角色管理1、Web應(yīng)用程序平安概述問題:網(wǎng)站的平安訪問如果用戶繞過登錄網(wǎng)頁直接進入其他網(wǎng)頁,如何保證頁面的授權(quán)訪問?1〕傳統(tǒng)基于角色的平安技術(shù)被保護的網(wǎng)頁設(shè)置如Session對象保護措施,并建立用戶注冊表,在注冊表中注明用戶的姓名、密碼以及分配的角色等。當用戶進入登錄頁面時,先要求用戶輸入自己的姓名和密碼,然后到注冊表中去查詢。如果在表中找到了可以匹配的記錄時,說明該用戶已經(jīng)進行了注冊,然后取出用戶對應(yīng)的角色(類型)字段,根據(jù)分配給角色的權(quán)限讓用戶轉(zhuǎn)入相應(yīng)的網(wǎng)頁。2〕ASP.NET2.0基于角色的平安技術(shù)ASP.NET2.0提供了一個網(wǎng)站管理工具和7個組合控件以及編程方式實現(xiàn)基于成員資格和角色的管理。當給網(wǎng)站配置好平安設(shè)置后,系統(tǒng)在應(yīng)用程序的”App_Data”專用目錄下創(chuàng)立專用數(shù)據(jù)庫〔ASPNETDB.MDF〕和假設(shè)干數(shù)據(jù)表。這些表包含用戶的注冊信息、角色信息以及個性效勞所需要的信息。成員資格的根本概念A(yù)SP.NET成員資格〔Membership〕提供了一種驗證和存儲用戶憑據(jù)的內(nèi)置方法。成員資格使用成員資格提供程序存儲用戶數(shù)據(jù)。默認是SQLServer數(shù)據(jù)庫。默認成員資格提供程序為AspNetSqlProvider。結(jié)合ASP.NET成員資格、ASP.NETForms身份驗證、ASP.NET登錄控件,用戶可以高效地創(chuàng)立一個完整的用戶身份驗證系統(tǒng)。角色管理的根本概念角色是用戶組的名稱。角色相當于操作系統(tǒng)的組。建立角色后,可以將每個用戶分配到不同角色中。然后,再對角色分別授予不同的權(quán)限,這時角色中的每個用戶都繼承了已分配的權(quán)限,實現(xiàn)了用戶和訪問權(quán)限的邏輯別離。角色管理就是用來管理授權(quán)。角色管理包括兩個方面:可以創(chuàng)立不同的角色,如administrators、users、guests等,然后把用戶添加到相應(yīng)的角色中。創(chuàng)立角色后,可以在應(yīng)用程序中創(chuàng)立基于角色的訪問規(guī)那么?;诮巧氖跈?quán)管理,可以大大減少系統(tǒng)管理的工作量。2、基于成員資格和角色的網(wǎng)站平安2.1組織好站點中的文件2.2利用網(wǎng)站管理工具進行平安配置2.3ASP.NET配置文件平安設(shè)置2.1組織好站點中的文件建立假設(shè)干子目錄,將平安等級相同的網(wǎng)頁放在同一個子目錄下,在各個子目錄的根目錄下設(shè)置Web.config文件,利用該文件配置平安策略。Web.config文件之間的定義有繼承關(guān)系,假設(shè)子目錄的定義不同于父目錄時,子目錄下的文件按照子目錄的定義執(zhí)行。Web.config文件與目錄的關(guān)系2.2利用網(wǎng)站管理工具進行平安配置〔1〕平安設(shè)置步驟2.2利用網(wǎng)站管理工具進行平安配置2.2利用網(wǎng)站管理工具進行平安配置2.2利用網(wǎng)站管理工具進行平安配置目錄,角色,訪問權(quán)限(者結(jié)合起來確定某角色(或用戶)對某目錄的訪問權(quán)限。操作過程是:先確定角色(或用戶),再確定權(quán)限,再選擇目錄,最后單擊【添加此規(guī)那么】按鈕?!?〕對平安配置的調(diào)整用戶:用來增添、編輯或刪除用戶,還可以給用戶分配角色;角色:用來增添、編輯或刪除角色;2.2利用網(wǎng)站管理工具進行平安配置2.2利用網(wǎng)站管理工具進行平安配置訪問規(guī)那么:用來增加、編輯或刪除訪問規(guī)那么。可以變成完成這些步驟2.2利用網(wǎng)站管理工具進行平安配置〔3)平安配置的結(jié)果在應(yīng)用程序的各個目錄下分別產(chǎn)生了web.config配置文件,文件中載入了對該目錄的訪問權(quán)限。例如Admin目錄的web.config文件如下:<?xmlversion="1.0"encoding="utf-8"?><configuration><system.web><roleManagerenabled=“true”/>〔啟用角色管理〕<authenticationmode=“Forms”/>(身份驗證類型為“通過Internet”)<authorization><allowroles=“Student"/><denyroles=“Admin”/>〔只允許Studnt和Admin訪問該目錄〕<denyroles=“user"/><denyusers=“*”/><denyusers=“?”/></authorization></system.web></configuration>在<authorization>…</authorization>中配置的順序非常重要,系統(tǒng)總是按照從前向后逐條匹配的方法,并且執(zhí)行最先的匹配者。代碼中“*”代表所有用戶;“?”代表匿名用戶。也可以在web.config文件中直接編寫代碼2.2利用網(wǎng)站管理工具進行平安配置應(yīng)用程序的根目錄下出現(xiàn)了一個專用的App_Data目錄,在該目錄下出現(xiàn)了一個專用的SQLServer數(shù)據(jù)庫(名為ASPNETDB.MDF)。數(shù)據(jù)庫中包括用于用戶管理的假設(shè)干專用數(shù)據(jù)表,這些數(shù)據(jù)表將自動記錄登錄用戶、角色以及它們的相關(guān)數(shù)據(jù)。2.3ASP.NET配置文件平安設(shè)置網(wǎng)站的根目錄和子目錄下都可以有自己的web.config文件。Web.config配置文件中用于平安的配置主要包含三個主要的配置節(jié):Authentication身份驗證Authorization授權(quán)Location標識(定位)〔1〕authentication節(jié)身份驗證authentication節(jié)用于配置ASP.NET身份驗證方案??梢灾付☉?yīng)用程序使用的驗證模式:Windows〔默認〕/Forms/Passport/None〔不對請求進行任何附加身份驗證〕。authentication節(jié)配置格式如下:<authenticationmode="[Windows|Forms|Passport|None]"><forms>...</forms><passport/></authentication><forms>用于配置基于窗體〔form〕的自定義身份驗證方式。<forms>元素的主要屬性name:定義在終端用戶進行了身份驗證后發(fā)送給他們的cookie的名稱。默認情況,這個cookie的名稱是.ASPXAUTH。loginUrl:如果沒有找到有效的驗證cookie(.ASPXAUTH或其他),就指定重定向HTTP請求的頁面位置。它默認設(shè)置為login.aspx。protection:指定應(yīng)用于cookie的保護級別,該cookie在終端用戶通過身份驗證后存儲在他的機器上。其設(shè)置包括All、None、Encryption和Validation。應(yīng)總是使用All。timeout:定義cookie過期后的時間(分鐘)。默認值是30分鐘。path:指定應(yīng)用程序調(diào)用的cookie路徑。cookieless:指定ASP.NET處理cookie的方式。其值可以是useDeviceProfile、useCookies、auto和useUri。默認值是useDeviceProfile。(2)authorization節(jié)授權(quán)authorization節(jié)用于配置Web應(yīng)用程序的授權(quán),以控制客戶端對URL資源的訪問權(quán)限。元素<allow>和<deny>它們分別授予和撤消訪問權(quán)限。每個元素支持三個屬性。users:標識允許或拒絕訪問資源的用戶。問號〔?〕表示匿名用戶〔即未經(jīng)身份驗證的用戶〕,星號〔*〕表示所有經(jīng)過身份驗證的用戶。roles:標識允許或拒絕訪問資源的角色〔組〕。verbs:定義操作中所用的HTTP提交方式。如GET、HEAD和POST。默認值為“*”,表示支持所有的HTTP提交方式。默認:<allowroles=“”/>允許所有角色<allowusers=“*”/>允許所有用戶authorization節(jié)授權(quán)舉例例1,以下配置代碼允許所有Admins角色成員訪問,拒絕所有其他用戶訪問:<configuration><system.web><authorization><allowroles="Admins"/><denyusers="*"/></authorization></system.web></configuration>允許admins角色成員拒絕所有用戶authorization節(jié)授權(quán)舉例例2:允許每個人使用GET,但只有Kim可以使用POST。<authorization> <allowverbs="GET"users="*"/> <allowverbs="POST"users="Kim"/> <denyverbs="POST"users="*"/></authorization>(3)location節(jié)location節(jié)用于指定應(yīng)用到特定文件或目錄的設(shè)置。例如,以下配置代碼允許匿名用戶訪問Logon.aspx頁面:<configuration><locationpath="Logon.aspx"><system.web><authorization><allowusers="?"/></authorization></system.web></location><locationpath=“admin"><system.web><authorization><allowroles=“administrator"/><denyusers=“*”/></authorization></system.web></location></configuration>允許匿名用戶訪問文件login.aspx只允許administrator訪問admin文件夾任務(wù): 當未登錄用戶訪問登錄頁面以外的頁面時,自動跳轉(zhuǎn)到登錄頁面login.aspx。解決方案:使用Web.config的平安配置功能,配置使用forms的身份驗證。使用說明:Forms身份驗證經(jīng)常用于個性化效勞,在某些情況下,身份驗證不是關(guān)鍵,而標識才是關(guān)鍵,所以在持久性的Cookie中只需存儲用戶名就足夠了,然后使用該Cookie來訪問用戶的個性化信息。例:使用Web.config配置ASP.NET的平安修改web.config文件,訪問login10.aspx運行l(wèi)ogin10.aspx文件回自動轉(zhuǎn)到login.aspx頁面若改為<allowusers=“*”/>則定向到當前文件未經(jīng)過身份驗證,那么重定向到login.aspx在web.config中添加自定義變量Web.config<configuration> <appSettings> <addkey=“welcomeMessage”value=“歡送訪問本網(wǎng)站”/> </appSettings></configuration>在頁面中應(yīng)用變量,如在中,lblWelMsg.Text=System.Configuration.ConfigurationManager.AppSettings["welcomeMessage"];3利用控件創(chuàng)立平安頁ASP.NET2.0系統(tǒng)提供了一組用戶管理控件,利用這些控件可以方便地完成用戶管理和基于角色的平安策略的設(shè)計工作。這些控件包括:Login用戶登錄控件CreateUserWizard創(chuàng)立新用戶控件LoginView登錄視圖控件LoginName登錄用戶名控件LoginStatus登錄狀態(tài)控件ChangePassword改變密碼控件PasswordRecovery恢復密碼控件(1)用戶登錄控件(Login)是基于角色的平安技術(shù)的核心控件。該控件的作用是進行用戶認證,確定新到的用戶是否已經(jīng)登錄。Login控件實質(zhì)上是一個“用戶控件”,它不僅生成了顯示界面,還定義了相應(yīng)的行為。由于系統(tǒng)已經(jīng)自動生成了數(shù)據(jù)表,而且數(shù)據(jù)表的表名、字段名以及位置都已經(jīng)固定,因此只要將Login控件拖入到窗體中,不需要編寫任何代碼,也不需設(shè)置任何其他屬性就可以使用。(1)用戶登錄控件(Login)執(zhí)行Login控件的結(jié)果要么登錄成功,要么登錄失敗。當?shù)卿洺晒r:(1)轉(zhuǎn)向新頁面。Login控件的DestinationPageUrl屬性用來設(shè)置跳轉(zhuǎn)的頁面地址。(2)改變視圖。利用本頁面的LoginView控件改變視圖,顯示基于角色的不同界面。(3)顯示登錄狀態(tài)。利用LoginStatus控件顯示登錄狀態(tài),以便隨時退出登錄狀態(tài)。(4)表示對登錄用戶的歡送。利用LoginName控件編寫歡送語句。登錄失敗時:(1)提示錯誤信息,要求重新登錄。Login控件的FailureText屬性用來確定登錄失敗時的提示文本。(2)創(chuàng)立新用戶。通過CreateUserWizard控件創(chuàng)立新用戶,以完成登錄前的準備工作。(3)恢復密碼。通過PasswordRecovery控件幫助用戶恢復密碼。(1)用戶登錄控件(Login)在Login控件中設(shè)置與上述控件相應(yīng)的頁面的鏈接指針,方法如下:屬性CreateUserText和CreateUserUrl相結(jié)合指向創(chuàng)立的新用戶界面。屬性PasswordRecoveryText和PasswordRecoveryUrl相結(jié)合指向恢復密碼的網(wǎng)頁。屬性HelpPageText和HelpPageUrl相結(jié)合指向幫助網(wǎng)頁。屬性“VisibleWhenLoggedIn”用來設(shè)置當用戶身份驗證成功后是否自動隱藏自己。如果將它設(shè)為true時,一旦登錄成功,Login控件自己將被隱藏起來。圖18.9為登錄控件設(shè)置屬性(1)用戶登錄控件(Login)在Login控件中提供了4個事件,利用這些事件可以增強控件的功能。BeforeLogin:發(fā)生在登錄表驗證之前。利用這一事件可以檢查輸入數(shù)據(jù)的語法和格式是否正確,以便及時提示錯誤并中斷后續(xù)的操作。AfterLogin:發(fā)生在認證成功之后,利用這一事件可以在登錄成功以后附加一些程序以便做進一步處理。Authenticate:發(fā)生在想根據(jù)事件而提供一個固定的認證模式的時候,可以詳細說明用戶數(shù)據(jù)是否已經(jīng)被驗證成功。LoginError:發(fā)生在用戶輸入數(shù)據(jù)錯誤,認證停止的時候。利用此事件可以在錯誤發(fā)生,停止認證后做進一步的處理。(2)使用創(chuàng)立新用戶控件(CreateUserWizard)用于創(chuàng)立新網(wǎng)站用戶帳戶的界面。無create-user事件,那么成功創(chuàng)立用戶后執(zhí)行此過程成功創(chuàng)立用戶后執(zhí)行此過程該控件可以在用戶完成所有的注冊工程之后,自動給用戶的郵箱發(fā)送用戶注冊信息的郵件。下面是在CreateUserWizard控件中,為用戶完成注冊后發(fā)送給用戶的一封主題為“感謝”的電子郵件而做的設(shè)置,郵件的文件名為“welcomeEmail.txt”。<asp:CreateUserWizardID="CreateUserWizard1"Runat="server"><MailDefinition>BodyFileName="welcomeEmail.txt"From=""Subject="感謝!"</MailDefinition></asp:CreateUserWizard>如果要使該控件具有發(fā)送電子郵件的功能,必須使它能夠發(fā)送郵件,為此在MACHINE.CONFIG文件中將看到下面的配置:<smtpMailserverName="localhost"serverPort="25"/>(2)使用創(chuàng)立新用戶控件(CreateUserWizard)(3)登錄狀態(tài)(LoginStatus)與登錄姓名控件(LoginName)LoginName用來顯示注冊用戶的名字,通過FormatString屬性可以增加一些格式的描述。如果用戶沒有被認證,這個控件就不會在頁面上產(chǎn)生任何輸出。LoginStatus(登錄狀態(tài))控件那么提供了一個方便的超鏈接,它會根據(jù)當前驗證的狀態(tài),在登錄和退出操作之間進行切換,如果用戶尚未經(jīng)過身份驗證,那么顯示指向登錄頁面的鏈接。如果用戶已經(jīng)進行了身份驗證,那么顯示使該用戶能夠退出的鏈接。利用不同的屬性,這兩個顯示的內(nèi)容都是可以被修改的。通??梢愿鶕?jù)登錄和退出的狀態(tài)在控件上加上照片等個性化的東西。LoginStatus控件自動檢測用戶的身份驗證狀態(tài)〔Request.IsAuthenticated〕,并顯示適當?shù)牡卿?注銷選項。當單擊【登錄】按鈕,將用戶重定向到該網(wǎng)站的登錄頁。LoginStatus控件將從web.config文件窗體身份驗證節(jié)檢索登錄頁的URL。當單擊【注銷】按鈕,將去除用戶的身份驗證狀態(tài),并且執(zhí)行相應(yīng)的注銷行為:刷新當前頁/登錄頁/指定頁。LoginName控件LoginName控件在頁上顯示當前經(jīng)過身份驗證的用戶名〔〕。如果用戶沒有登錄,那么該控件不在頁上呈現(xiàn),并且不占任何視覺空間。通過設(shè)置FormatString屬性,可以更改由LoginName控件顯示的文本。(4)登錄視圖控件(LoginView)作用:LoginView結(jié)合導航控件能夠根據(jù)當前用戶的角色自動顯示不同的導航界面,實現(xiàn)基于角色的網(wǎng)站瀏覽功能。默認情況下該控件只包括兩個模板:匿名(未登錄)模板(Anonymous)與已登錄模板(LoggedIn),可以對匿名用戶和已登錄的用戶分別顯示不同的導航界面。如果在應(yīng)用工程中設(shè)置了多個不同的角色時,控件將自動增加多種不同的模板,用來為不同角色顯示不同的導航界面。特點:登錄后的用戶按自己所充當?shù)慕巧榭醋约簷?quán)限以內(nèi)的網(wǎng)頁,這只是視圖上的保護,并不能代替Web.config文件的作用,一些用戶還有可能直接利用URL直接進入受保護的網(wǎng)頁。因此視圖的保護還應(yīng)該和Web.config相結(jié)合才能既有效又方便地保護網(wǎng)頁。(5)PasswordRecovery控件和ChangePassword控件

PasswordRecovery控件能夠通過電子郵件來幫助恢復忘記的密碼。要使用該控件,需要具有自動發(fā)送郵件的功能,必須正確配置Web.config文件。只要用戶在注冊時正確地填寫了郵箱地址和配置正確,并在該控件里提交了請求,它就會自動把密碼發(fā)送到你的郵箱中。該控件提供了三種視圖。UserName:用戶需要在這里填上登錄名。Question:用戶尋找遺忘的密碼時必須答復的問題。Answer:當用戶輸入的密碼正確,或者已經(jīng)用E-mail發(fā)給用戶的時候。PasswordRecovery控件PasswordRecovery控件PasswordRecovery控件中的重要事件。BeforeUserLookup:當用戶查找用戶資料的時候被激發(fā)??梢栽O(shè)定個人測試條件取消這個過程。UserLookupError:當用戶名不存在時激發(fā)。BeforeAnswerLookup:在用戶輸入了答案并且被驗證后激發(fā)。AnswerLookupError:當輸入答案錯誤時被激發(fā)。BeforeSendMail:在郵件發(fā)送之前被激發(fā)。ChangePassword控件在Web頁面中的2個視圖:【更改密碼】視圖:【成功】視圖:是復合模板舉例(1)使用CreateUserWizard控件創(chuàng)立用戶注冊頁面(2)使用Login控件創(chuàng)立登錄頁面(3)使用LoginView控件檢測用戶身份(4)使用ChangePassword控件創(chuàng)立密碼修改頁面(5)使用PasswordRecovery控件創(chuàng)立密碼恢復頁面(1)使用CreateUserWizard控件

創(chuàng)立用戶注冊頁面例1:開發(fā)任務(wù):創(chuàng)立新用戶注冊頁面Register.aspx。數(shù)據(jù)保存在ASPNETDB.MDF的aspnet_membership、aspnet_users表中。使用forms身份驗證(2)使用Login控件創(chuàng)立登錄頁面例2:開發(fā)任務(wù):使用Login控件創(chuàng)立登錄頁面Login.aspx。登錄成功,那么轉(zhuǎn)到默認頁default.pasx。主要屬性:CreateUserText—新建用戶提示信息。CreateUserUrl-新用戶注冊頁面文件。用戶信息在哪里?在ASPNETDB.MDF的aspnet_membership、aspnet_users表中(3)使用LoginView控件檢測用戶身份

例3:使用LoginView控件創(chuàng)立用戶身份檢測頁面LoginView.aspx。(4)使用ChangePassword控件創(chuàng)立

密碼修改頁面例4:使用ChangePassword控件創(chuàng)立密碼修改頁面ChangePassword.aspx。MailDefinition屬性:可以將成功更改的密碼通過電子郵件的形式通知用戶。ContinueDestinationPageUrl: 單擊“繼續(xù)”按鈕是重定向的URL。(5)使用PasswordRecovery控件創(chuàng)立

密碼恢復頁面例5:使用PasswordRecovery控件創(chuàng)立密碼恢復頁面LoginPasswdRecovery.aspx。分兩步:(1)密碼恢復登錄界面:loginpasswdRecovery.aspx關(guān)鍵屬性: PasswordRecoveryText-“忘記了密碼” PasswordRecoveryUrl-“PasswdRecovery.aspx”(2)密碼恢復界面:PasswdRecovery.aspx三個視圖4編程實現(xiàn)成員管理登錄控件實現(xiàn)對登錄和用戶的管理實際上是調(diào)用ASP.NET成員管理的API(Membershiplei和MembershipUser類〕成員資格管理數(shù)據(jù)庫成員資格管理提供程序成員資格管理API登錄控件數(shù)據(jù)庫SqlMembershipProviderMembershipMembershipUserLogin控件LoginName控件……成員資格管理體系結(jié)構(gòu)成員資格API:MemberShip類MembershipAPI方法可以對成員身份進行更高級別的控制。利用這些方法能夠完成:創(chuàng)立新用戶驗證用戶登錄請求查找用戶更新用戶刪除用戶成員資格API:MemberShip類的常用方法

名稱說明CreateUser()將新用戶添加到數(shù)據(jù)存儲區(qū)DeleteUser()從數(shù)據(jù)庫中刪除一個用戶GetUser()從數(shù)據(jù)源獲取成員資格用戶GetUserNameByEmail()通過Email獲取用戶名FindUsersByName()通過用戶名查找成員資格用戶FindUsersByEmail()通過Email查找成員資格用戶GetAllUsers()獲取數(shù)據(jù)庫中用戶的集合GetNumberOfUsersOnline()獲取當前訪問應(yīng)用程序的用戶數(shù)GeneratePassword()生成指定長度的隨機密碼UpdateUser()指定用戶的信息更新數(shù)據(jù)庫ValidateUser()驗證用戶成員資格API:MembershipUserMembershipUser類用于表示成員資格數(shù)據(jù)存儲區(qū)中的單個成員資格用戶。該類公開有關(guān)成員資格用戶的信息〔如電子郵件地址〕,并為成員資格用戶提供功能〔如更改或重置其密碼的功能〕。訪問用戶的屬性更改用戶密碼或重置用戶密碼檢索用戶密碼更改用戶的密碼提示和密碼答案解除用戶鎖定成員資格API:

MembershipUser類的常用方法

名稱說明UnlockUser()清除用戶的鎖定狀態(tài)以便可以驗證成員資格用戶。GetPassword從成員資格數(shù)據(jù)存儲區(qū)獲取成員資格用戶的密碼。ResetPassword將用戶密碼重置為一個自動生成的新密碼。ChangePassword(stringoldPassword,stringnewPassword)更新成員資格數(shù)據(jù)存儲區(qū)中成員資格用戶的密碼。ChangPasswordQuestionAndAnswer更新成員資格數(shù)據(jù)存儲區(qū)中成員資格用戶的密碼提示問題和密碼提示問題答案。角色管理:Roles類Roles類的主要功能:創(chuàng)立角色。將用戶添加到角色。確定特定用戶是否在角色中。獲取用戶的角色。從角色中刪除用戶。管理包含角色信息的Cookie。角色管理:Roles類常用方法

CreateRole()將新的角色添加到數(shù)據(jù)源。DeleteRole()從數(shù)據(jù)源中刪除一個角色RoleExists()判斷角色數(shù)據(jù)源中是否存在指定的角色名稱GetAllRoles() 獲取應(yīng)用程序中所有角色的列表AddUserToRole() 為一個用戶分配一個角色。AddUserToRoles() 為多個用戶分配一個角色。AddUsersToRole() 為多個用戶分配多個角色。RemoveUserFromRole()從一個角色中刪除一個指定用戶。角色管理:Roles類常用方法〔續(xù)〕RemoveUserFromRoles()從多個角色中刪除一個指定用戶。RemoveUsersFromRole()從一個角色中刪除多個指定用戶。RemoveUsersFromRoles()從多個角色中刪除多個指定用戶。IsUserInRole() 判斷指定用戶是否具有指定角色。GetRolesForUser() 獲取指定用戶所屬的角色列表。GetUsersInRoles() 獲取一個用戶所屬角色的列表。FindUsersInRole() 獲取屬于指定角色的用戶的列表,其中用戶名包含要匹配的指定用戶名。1)利用Membership類創(chuàng)立新用戶在窗體中創(chuàng)立6個輸入窗口以及一個按鈕,其中:TextBox1用于輸入新用戶名;TextBox2用于輸入新用戶密碼;TextBox3用于輸入新用戶的E-mail;TextBox4用于輸入平安提示問題;TextBox5用于輸入答復以下問題;TextBox6用于輸入提示錯誤。舉例:編程實現(xiàn)成員管理與角色管理voidButton1_Click(objectsender,EventArgse){if(this.IsValid){MembershipCreateStatusstatus;MembershipUseruser=Membership.CreateUser(this.TextBox1.Text,this.TextBox2.Text,this.TextBox3.Text,this.TextBox4.Text,this.TextBox5.Text,false,outstatus);switch(status){caseMembershipCreateStatus.Success:FormsAuthentication.RedirectFromLoginPage(user.UserName,false);break;caseMembershipCreateStatus.DuplicateEmail:this.TextBox6.Text="email地址已經(jīng)登錄";break;caseMembershipCreateStatus.DuplicateUserName:this.TextBox6.Text="用戶已經(jīng)登錄";break;c

溫馨提示

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

評論

0/150

提交評論