《成員角色及登錄管理.ppt》由會員分享,可在線閱讀,更多相關《成員角色及登錄管理.ppt(26頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、2,第10章 成員角色及登錄管理,學前提示 通過ASP.NET角色管理的使用,可以簡化權限控制模塊的代碼編寫工作量。在以往的Web應用開發(fā)中,角色管理模塊的開發(fā)需要花費大量的時間和精力,才能達到理想的效果?,F(xiàn)在使用ASP.NET角色管理功能,不但降低了相關的開發(fā)量,而且相關的配置方法操作簡便,更適于系統(tǒng)管理員進行權限分配。 知識要點 ASP.NET成員資格管理基礎 ASP.NET角色管理基礎 使用ASP.NET網(wǎng)站管理工具配置成員資格管理程序,3,10.1 使用成員資格管理,ASP.NET提供了多個與實現(xiàn)角色及登錄管理功能有關的API、類及控件,本節(jié)對這些與角色管理相關的內(nèi)容進行介紹。,4,1
2、0.1.1 成員資格介紹,ASP.NET 3.5繼承了ASP.NET 2.0中集成的強大身份驗證功能,通過內(nèi)置成員資格API與SQL Server 2005 Express數(shù)據(jù)庫的有效結合,將大量復雜、繁瑣的身份驗證代碼封裝為不同的類庫,為開發(fā)用戶權限管理功能提供了方便。 成員資格管理主要實現(xiàn)以下幾個方面的功能。 用戶管理 為創(chuàng)建用戶、用戶登錄、權限管理等功能提供API接口,通過API接口降低應用程序權限管理的開發(fā)難度。 角色管理 通過角色管理,簡化權限管理工作。 基于目錄的權限分配 通過將相關文件放在同一目錄,并為目錄分配訪問權限,實現(xiàn)權限控制。,5,10.1.2 成員資格類,
3、.NET工具箱中的7個登錄控件為應用程序封裝了Membership類的常用操作,從而為用戶權限管理提供了一種便捷的實現(xiàn)方式,如圖10.1所示。 Membership類提供的功能包括: 創(chuàng)建新用戶 對訪問網(wǎng)站的用戶進行身份驗證 管理密碼功能,6,10.1.2 成員資格類,表10-1列出了Membership類提供的主要方法,通過使用這些方法可以完成用戶管理的大部分工作。,7,10.1.3 配置ASP.NET應用程序以使用成員資格,(1)啟動Visual Studio 2008,打開需要創(chuàng)建角色管理功能的網(wǎng)站項目,選擇“網(wǎng)站”菜單下的“ASP.NET配置”命令,如圖10-2所示。Visual St
4、udio 2008會啟動“網(wǎng)站管理工具”,如圖10-3所示。 (2)在“ASP.NET網(wǎng)站管理工具”中選擇“安全”選項卡,進入網(wǎng)站角色管理工具,如圖10-4所示。,8,10.1.3 配置ASP.NET應用程序以使用成員資格,(3)在網(wǎng)站角色管理工具界面中單擊“選擇身份驗證類型”鏈接,在打開的頁面中選擇“通過Internet”,單擊“完成”按鈕,如圖10-5所示。完成后回到項目窗口,可以看到Visual Studio 2008創(chuàng)建了默認使用的權限數(shù)據(jù)庫“ASPNETDB.MDF”,如圖10-6所示。,9,10.2 使用角色管理授權,上一節(jié)介紹了ASP.NET成員資格管理的基本知識,本節(jié)介紹如何通
5、過成員資格管理功能進行用戶角色管理。,10,10.2.1 角色管理介紹,ASP.NET 3.5中的權限管理模塊提供了角色管理功能,可以幫助開發(fā)人員快速實現(xiàn)角色的管理與分配工作。 利用ASP.NET提供的角色管理功能,能夠根據(jù)用戶組(稱為角色)來管理應用程序的授權。通過將用戶分配到不同角色,可以根據(jù)不同角色來控制用戶對 Web 應用程序的不同資源的訪問,而無需通過對用戶名授權來控制對頁面的訪問。,11,10.2.2 角色管理類,.NET的角色管理API中包含多個用于角色管理的類,例如: Roles RoleProvider RoleManagerModule 其中我們重點要掌握的是Roles類。
6、Roles類的主要功能如下。 (1) 創(chuàng)建和管理角色。 (2) 用戶管理。,12,10.2.2 角色管理類,表10-2列出了Roles類的所有方法及其說明,13,10.3 實現(xiàn)基本成員角色管理,前面介紹了ASP.NET成員管理功能的基本概念、啟用成員管理功能的方法以及主要的成員管理API說明。本節(jié)通過幾個常用功能實現(xiàn)的講解,介紹成員管理API與ASP.NET配置管理工具的基本使用方法。,14,10.3.1 實現(xiàn)用戶身份驗證,下面的代碼通過成員管理API實現(xiàn)用戶登錄功能: //獲得用戶輸入的用戶名與密碼,代碼略,查看前面的章節(jié) if (Membership.ValidateUser(UserNa
7、me, Password))//根據(jù)輸入的用戶名/密碼信息,調(diào)用ASP.NET提供的成員管理API,認證用戶信息,如果認證通過,則執(zhí)行下面這段代碼 FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1, Login1.UserName, DateTime.Now, DateTime.Now.AddMinutes(60), false, ); //建立身份驗證票對象 string encryptedTicket =FormsAuthentication.Encrypt(authTicket); //加密
8、票據(jù) HttpCookie authCookie = new HttpCookie(FormsAuthentication .FormsCookieName, encryptedTicket); //得到Cookie對象 Response.Cookies.Add(authCookie); //將票據(jù)對象添加進Cookie Response.Redirect(admin/default.aspx); //跳轉(zhuǎn)到后臺首頁 else //輸出登錄失敗信息,代碼略,查看前面的章節(jié) ,15,10.3.2 創(chuàng)建新用戶并分配角色權限,創(chuàng)建新用戶有兩種實現(xiàn)方式: 方式1:網(wǎng)站管理員通過ASP.NET
9、配置管理工具進行創(chuàng)建 方式2:為用戶通過注冊頁面進行注冊。 首先介紹如何使用ASP.NET工具創(chuàng)建用戶。 (1) 啟動ASP.NET網(wǎng)站配置工具,在主界面中選擇“創(chuàng)建用戶”鏈接,如圖10-7所示。 (2) 在“創(chuàng)建用戶”頁面中輸入用戶的基本信息,并指定用戶的角色(假設已經(jīng)創(chuàng)建過角色),16,10.3.2 創(chuàng)建新用戶并分配角色權限,關于角色的創(chuàng)建,后文還會有專門的介紹,如圖10-8所示。單擊“創(chuàng)建用戶”按鈕,如果用戶信息填寫符合系統(tǒng)要求,并且用戶名沒有與系統(tǒng)中存在的用戶重名,系統(tǒng)會提示創(chuàng)建用戶成功,如圖10-9所示。,17,10.3.2 創(chuàng)建新用戶并分配角色權限,從工具箱中插入一個CreateU
10、serWizard控件到頁面中,如圖10-10所示。 插入后出現(xiàn)控件界面及任務面板,如圖10-11所示。,18,10.3.2 創(chuàng)建新用戶并分配角色權限,運行后的用戶注冊頁面如圖10-12所示。注冊成功的提示頁面如圖10-13所示。,19,10.3.3 顯示用戶列表和刪除用戶,(1)在網(wǎng)站管理工具中,單擊“管理用戶”鏈接,如圖10-14所示。 (2)在用戶管理頁面中可以進行用戶信息的修改和刪除,同時如果用戶信息較多,用戶管理頁面提供了用戶查詢功能,如圖10-15所示。,20,10.3.4 更新用戶信息,管理員通過在用戶管理頁面單擊用戶名后面的“編輯用戶”鏈接進入本頁面,在這里可以修改用戶的基本資
11、料,還可以設置用戶所擁有的角色權限,如圖10-16所示。,21,10.3.5 創(chuàng)建角色,通過在ASP.NET網(wǎng)站配置工具中單擊“啟用角色”鏈接,可以打開ASP.NET內(nèi)置的角色管理功能,如圖10-17所示。 第一次使用角色管理功能時系統(tǒng)會要求添加第一個系統(tǒng)角色,輸入角色名稱并單擊“添加角色”按鈕,則完成角色創(chuàng)建任務,如圖10-18所示。,22,10.3.6 顯示角色列表和刪除角色,啟用角色管理功能后,在ASP.NET網(wǎng)站配置工具頁面中會出現(xiàn)“創(chuàng)建或管理角色”鏈接,如圖10-19所示。 在角色管理頁面中可以添加新的角色、刪除角色,刪除時有一個限制該角色下面必須沒有用戶信息,否則不能刪除該角色。單
12、擊“管理”鏈接可以管理該角色下面的用戶信息,如圖10-20所示。,23,10.3.6 顯示角色列表和刪除角色,在角色管理頁面中列出了系統(tǒng)中創(chuàng)建的所有用戶信息,可以通過切換勾選與不勾選狀態(tài),設置用戶是否屬于本角色,如果用戶較多,系統(tǒng)提供了查詢功能,可以查詢用戶信息,如圖10-21所示。,24,10.3.7 設置角色權限,(1)在網(wǎng)站管理工具的“安全選項卡”中單擊“創(chuàng)建訪問規(guī)則”鏈接,進入訪問規(guī)則配置界面,如圖10-22所示。 (2)在創(chuàng)建訪問權限頁面左邊選擇本條權限用于對哪個目錄進行權限控制,中間部分設置進行權限控制的用戶、角色或用戶群,在頁面右邊選擇本條權限允許還是拒絕指定用戶對本目錄的訪問。
13、 設置完成后單擊“完成”按鈕完成權限設置,如圖10-23所示。,25,10.3.7 設置角色權限,(3)在ASP.NET網(wǎng)站配置工具界面中點擊“管理訪問規(guī)則”鏈接,打開管理訪問權限頁面,如圖10-24所示。,26,10.4 上 機 練 習,(1)創(chuàng)建一個ASP.NET網(wǎng)站,啟用網(wǎng)站的角色管理功能。 (2)創(chuàng)建三個頁面,其中一個登錄頁面在網(wǎng)站首頁,另外兩個頁面發(fā)布在網(wǎng)站下面的獨立子目錄中,登錄頁面上放置一個登錄控件,其他兩個文件中添加標識文件名稱的內(nèi)容。 (3)使用網(wǎng)站管理工具創(chuàng)建兩個用戶角色,分別命名為“管理員”和“注冊用戶”,并為每種角色創(chuàng)建一個用戶。 (4)設置用戶權限,匿名訪客只能打開登錄頁面,輸入管理員用戶登錄密碼后進入管理員文件夾的首頁,輸入注冊用戶登錄密碼后進入注冊用戶文件夾的首頁。,