成員角色及登錄管理_第1頁
成員角色及登錄管理_第2頁
成員角色及登錄管理_第3頁
成員角色及登錄管理_第4頁
成員角色及登錄管理_第5頁
已閱讀5頁,還剩21頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第10章 成員角色及登錄管理學(xué)前提示通過ASP.NET角色管理的使用,可以簡化權(quán)限控制模塊的代碼編寫工作量。在以往的Web應(yīng)用開發(fā)中,角色管理模塊的開發(fā)需要花費大量的時間和精力,才能達到理想的效果。現(xiàn)在使用ASP.NET角色管理功能,不但降低了相關(guān)的開發(fā)量,而且相關(guān)的配置方法操作簡便,更適于系統(tǒng)管理員進行權(quán)限分配。知識要點ASP.NET成員資格管理基礎(chǔ)ASP.NET角色管理基礎(chǔ)使用ASP.NET網(wǎng)站管理工具配置成員資格管理程序210.1 使用成員資格管理ASP.NET提供了多個與實現(xiàn)角色及登錄管理功能有關(guān)的API、類及控件,本節(jié)對這些與角色管理相關(guān)的內(nèi)容進行介紹。310.1.1 成員資格介紹A

2、SP.NET 3.5繼承了ASP.NET 2.0中集成的強大身份驗證功能,通過內(nèi)置成員資格API與SQL Server 2005 Express數(shù)據(jù)庫的有效結(jié)合,將大量復(fù)雜、繁瑣的身份驗證代碼封裝為不同的類庫,為開發(fā)用戶權(quán)限管理功能提供了方便。成員資格管理主要實現(xiàn)以下幾個方面的功能。用戶管理 為創(chuàng)建用戶、用戶登錄、權(quán)限管理等功能提供API接口,通過API接口降低應(yīng)用程序權(quán)限管理的開發(fā)難度。 角色管理 通過角色管理,簡化權(quán)限管理工作?;谀夸浀臋?quán)限分配 通過將相關(guān)文件放在同一目錄,并為目錄分配訪問權(quán)限,實現(xiàn)權(quán)限控制。410.1.2 成員資格類.NET工具箱中的7個登錄控件為應(yīng)用程序封裝了Memb

3、ership類的常用操作,從而為用戶權(quán)限管理提供了一種便捷的實現(xiàn)方式,如圖10.1所示。Membership類提供的功能包括: 創(chuàng)建新用戶 對訪問網(wǎng)站的用戶進行身份驗證 管理密碼功能 510.1.2 成員資格類表10-1列出了Membership類提供的主要方法,通過使用這些方法可以完成用戶管理的大部分工作。Membership方法說 明CreateUser在指定的數(shù)據(jù)庫中添加新用戶DeleteUser從數(shù)據(jù)庫中刪除指定的用戶FindUsersByEmail返回一個用戶集合,這些用戶的電子郵件地址匹配給定的電子郵件地址FindUsersByName返回一個用戶集合,這些用戶的用戶名匹配給定的用

4、戶名GeneratePassword生成指定長度的隨機密碼GetAllUsers返回數(shù)據(jù)庫中包含的所有用戶集合GetNumberOfUsersOnline返回一個整數(shù),表示登錄到應(yīng)用程序中的用戶數(shù)。給用戶計數(shù)的時間窗口在Machine.config或Web.config文件中指定GetUser從數(shù)據(jù)庫中返回某個用戶的信息GetUserNameByEmail根據(jù)搜索的電子郵件地址,從數(shù)據(jù)庫中提取特定記錄的用戶名UpdateUser在數(shù)據(jù)庫中更新某個用戶的信息ValidateUser返回一個布爾值,表示某組憑證是否有效610.1.3 配置ASP.NET應(yīng)用程序以使用成員資格(1)啟動Visual

5、Studio 2008,打開需要創(chuàng)建角色管理功能的網(wǎng)站項目,選擇“網(wǎng)站”菜單下的“ASP.NET配置”命令,如圖10-2所示。Visual Studio 2008會啟動“網(wǎng)站管理工具”,如圖10-3所示。(2)在“ASP.NET網(wǎng)站管理工具”中選擇“安全”選項卡,進入網(wǎng)站角色管理工具,如圖10-4所示。710.1.3 配置ASP.NET應(yīng)用程序以使用成員資格(3)在網(wǎng)站角色管理工具界面中單擊“選擇身份驗證類型”鏈接,在打開的頁面中選擇“通過Internet”,單擊“完成”按鈕,如圖10-5所示。完成后回到項目窗口,可以看到Visual Studio 2008創(chuàng)建了默認(rèn)使用的權(quán)限數(shù)據(jù)庫“ASPN

6、ETDB.MDF”,如圖10-6所示。810.2 使用角色管理授權(quán)上一節(jié)介紹了ASP.NET成員資格管理的基本知識,本節(jié)介紹如何通過成員資格管理功能進行用戶角色管理。910.2.1 角色管理介紹ASP.NET 3.5中的權(quán)限管理模塊提供了角色管理功能,可以幫助開發(fā)人員快速實現(xiàn)角色的管理與分配工作。利用ASP.NET提供的角色管理功能,能夠根據(jù)用戶組(稱為角色)來管理應(yīng)用程序的授權(quán)。通過將用戶分配到不同角色,可以根據(jù)不同角色來控制用戶對 Web 應(yīng)用程序的不同資源的訪問,而無需通過對用戶名授權(quán)來控制對頁面的訪問。 1010.2.2 角色管理類.NET的角色管理API中包含多個用于角色管理的類,例

7、如:RolesRoleProviderRoleManagerModule其中我們重點要掌握的是Roles類。Roles類的主要功能如下。(1) 創(chuàng)建和管理角色。 (2) 用戶管理。 1110.2.2 角色管理類表10-2列出了Roles類的所有方法及其說明 Roles方法說 明AddUsersToRole給某個角色添加一組用戶AddUsersToRoles給一組角色添加一組用戶AddUserToRole給某個角色添加某個用戶AddUserToRoles給一組角色添加某個用戶CreateRole給指定的數(shù)據(jù)庫添加新角色DeleteCookie刪除客戶機上用于存儲用戶所屬角色的CookieDele

8、teRole從數(shù)據(jù)庫中刪除某個角色。使用這個方法的相應(yīng)參數(shù),還可以控制在角色包含用戶時是否刪除角色FindUsersInRole返回一組用戶,用戶名匹配給定的角色名GetAllRoles返回數(shù)據(jù)庫中存儲的所有角色集合GetRolesForUser返回包含某個用戶的角色集合IsUserInRole返回一個布爾值,表示用戶是否包含在某個角色中RemoveUserFromRole從某個角色中刪除某個用戶RemoveUserFromRoles從一組角色中刪除某個用戶RemoveUsersFromRole從某個角色中刪除一組用戶RemoveUsersFromRoles從一組角色中刪除一組用戶RoleEx

9、ists返回一個布爾值,表示數(shù)據(jù)庫中是否有某個角色1210.3 實現(xiàn)基本成員角色管理前面介紹了ASP.NET成員管理功能的基本概念、啟用成員管理功能的方法以及主要的成員管理API說明。本節(jié)通過幾個常用功能實現(xiàn)的講解,介紹成員管理API與ASP.NET配置管理工具的基本使用方法。1310.3.1 實現(xiàn)用戶身份驗證下面的代碼通過成員管理API實現(xiàn)用戶登錄功能:/獲得用戶輸入的用戶名與密碼,代碼略,查看前面的章節(jié)if (Membership.ValidateUser(UserName, Password)/根據(jù)輸入的用戶名/密碼信息,調(diào)用ASP.NET提供的成員管理API,認(rèn)證用戶信息,如果認(rèn)證通過

10、,則執(zhí)行下面這段代碼 FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1, Login1.UserName, DateTime.Now, DateTime.Now.AddMinutes(60), false, ); /建立身份驗證票對象 string encryptedTicket =FormsAuthentication.Encrypt(authTicket); /加密票據(jù) HttpCookie authCookie = new HttpCookie(FormsAuthentication .Forms

11、CookieName, encryptedTicket); /得到Cookie對象 Response.Cookies.Add(authCookie); /將票據(jù)對象添加進Cookie Response.Redirect(admin/default.aspx); /跳轉(zhuǎn)到后臺首頁else /輸出登錄失敗信息,代碼略,查看前面的章節(jié)1410.3.2 創(chuàng)建新用戶并分配角色權(quán)限創(chuàng)建新用戶有兩種實現(xiàn)方式:方式1:網(wǎng)站管理員通過ASP.NET配置管理工具進行創(chuàng)建方式2:為用戶通過注冊頁面進行注冊。 首先介紹如何使用ASP.NET工具創(chuàng)建用戶。(1) 啟動ASP.NET網(wǎng)站配置工具,在主界面中選擇“創(chuàng)建用戶

12、”鏈接,如圖10-7所示。(2) 在“創(chuàng)建用戶”頁面中輸入用戶的基本信息,并指定用戶的角色(假設(shè)已經(jīng)創(chuàng)建過角色) 1510.3.2 創(chuàng)建新用戶并分配角色權(quán)限關(guān)于角色的創(chuàng)建,后文還會有專門的介紹,如圖10-8所示。單擊“創(chuàng)建用戶”按鈕,如果用戶信息填寫符合系統(tǒng)要求,并且用戶名沒有與系統(tǒng)中存在的用戶重名,系統(tǒng)會提示創(chuàng)建用戶成功,如圖10-9所示。1610.3.2 創(chuàng)建新用戶并分配角色權(quán)限從工具箱中插入一個CreateUserWizard控件到頁面中,如圖10-10所示。插入后出現(xiàn)控件界面及任務(wù)面板,如圖10-11所示。1710.3.2 創(chuàng)建新用戶并分配角色權(quán)限運行后的用戶注冊頁面如圖10-12所示

13、。注冊成功的提示頁面如圖10-13所示。1810.3.3 顯示用戶列表和刪除用戶(1)在網(wǎng)站管理工具中,單擊“管理用戶”鏈接,如圖10-14所示。(2)在用戶管理頁面中可以進行用戶信息的修改和刪除,同時如果用戶信息較多,用戶管理頁面提供了用戶查詢功能,如圖10-15所示。1910.3.4 更新用戶信息管理員通過在用戶管理頁面單擊用戶名后面的“編輯用戶”鏈接進入本頁面,在這里可以修改用戶的基本資料,還可以設(shè)置用戶所擁有的角色權(quán)限,如圖10-16所示。2010.3.5 創(chuàng)建角色通過在ASP.NET網(wǎng)站配置工具中單擊“啟用角色”鏈接,可以打開ASP.NET內(nèi)置的角色管理功能,如圖10-17所示。第一

14、次使用角色管理功能時系統(tǒng)會要求添加第一個系統(tǒng)角色,輸入角色名稱并單擊“添加角色”按鈕,則完成角色創(chuàng)建任務(wù),如圖10-18所示。2110.3.6 顯示角色列表和刪除角色啟用角色管理功能后,在ASP.NET網(wǎng)站配置工具頁面中會出現(xiàn)“創(chuàng)建或管理角色”鏈接,如圖10-19所示。在角色管理頁面中可以添加新的角色、刪除角色,刪除時有一個限制該角色下面必須沒有用戶信息,否則不能刪除該角色。單擊“管理”鏈接可以管理該角色下面的用戶信息,如圖10-20所示。2210.3.6 顯示角色列表和刪除角色在角色管理頁面中列出了系統(tǒng)中創(chuàng)建的所有用戶信息,可以通過切換勾選與不勾選狀態(tài),設(shè)置用戶是否屬于本角色,如果用戶較多,系統(tǒng)提供了查詢功能,可以查詢用戶信息,如圖10-21所示。2310.3.7 設(shè)置角色權(quán)限(1)在網(wǎng)站管理工具的“安全選項卡”中單擊“創(chuàng)建訪問規(guī)則”鏈接,進入訪問規(guī)則配置界面,如圖10-22所示。(2)在創(chuàng)建訪問權(quán)限頁面左邊選擇本條權(quán)限用于對哪個目錄進行權(quán)限控制,中間部分設(shè)置進行權(quán)限控制的用戶、角色或用戶群,在頁面右邊選擇本條權(quán)限允許還是拒絕指定用戶對本目錄的訪問。設(shè)置完成后單擊“完成”按鈕完成權(quán)限設(shè)置,如圖10-23所示。2410.3.7 設(shè)置角色權(quán)限(3)在ASP.NET網(wǎng)站配置工具界面中點擊“管理訪問規(guī)則”鏈接,打開管理訪問權(quán)限頁面,如圖10-24所示。 2510.4 上

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論