版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第第8章章Web應(yīng)用的認(rèn)證與授權(quán)應(yīng)用的認(rèn)證與授權(quán)內(nèi)容內(nèi)容Web應(yīng)用的認(rèn)證應(yīng)用的認(rèn)證Web應(yīng)用的授權(quán)應(yīng)用的授權(quán)使用使用Membership實(shí)現(xiàn)實(shí)現(xiàn)Web應(yīng)用的認(rèn)證應(yīng)用的認(rèn)證使用使用Role實(shí)現(xiàn)實(shí)現(xiàn)Web應(yīng)用的授權(quán)應(yīng)用的授權(quán)Web應(yīng)用的認(rèn)證應(yīng)用的認(rèn)證在在Web.config中配置認(rèn)證信息中配置認(rèn)證信息ASP.NET中的認(rèn)證中的認(rèn)證 在ASP.NET中的認(rèn)證過(guò)程 Windows認(rèn)證 Form認(rèn)證 Passport認(rèn)證在在Web.config中配置認(rèn)證信息中配置認(rèn)證信息值 說(shuō)明 Windows 將 Windows 認(rèn)證指定為默認(rèn)的身份認(rèn)證模式。將它與以下任意形式的 Microsoft Internet
2、 信息服務(wù) (IIS) 身份認(rèn)證結(jié)合起來(lái)使用:基本、摘要、集成 Windows 身份認(rèn)證 (NTLM/Kerberos) 或證書。在這種情況下,我們的應(yīng)用程序?qū)⑸矸菡J(rèn)證責(zé)任委托給基礎(chǔ) IISForms將 ASP.NET 基于窗體的身份認(rèn)證指定為默認(rèn)身份認(rèn)證模式Passport將 Microsoft Passport Network 身份認(rèn)證指定為默認(rèn)身份認(rèn)證模式None不指定任何身份認(rèn)證。我們的應(yīng)用程序僅期待支持匿名用戶,否則它將提供自己的身份認(rèn)證 . 在在ASP.NET中的認(rèn)證過(guò)程中的認(rèn)證過(guò)程Windows認(rèn)證認(rèn)證應(yīng)用場(chǎng)景應(yīng)用場(chǎng)景應(yīng)用程序使用 Active Directory 用戶存儲(chǔ) 構(gòu)建
3、基于企業(yè)內(nèi)部的Web應(yīng)用 認(rèn)證機(jī)制認(rèn)證機(jī)制WindowsAuthenticationModule 使用從 IIS 傳遞到 ASP.NET 的 Windows 訪問(wèn)令牌創(chuàng)建一個(gè) WindowsPrincipal 對(duì)象 WindowsAuthenticationModule 類使用 P/Invoke 調(diào)用 Win32 函數(shù)并獲得該用戶所屬的 Windows 組的列表 WindowsAuthenticationModule 類將 WindowsPrincipal 對(duì)象存儲(chǔ)在 HttpContext.User 屬性中 演示和練習(xí):在演示和練習(xí):在IIS中配置中配置Windows認(rèn)證認(rèn)證多媒體演示多媒體
4、演示Form認(rèn)證認(rèn)證Form認(rèn)證場(chǎng)景認(rèn)證場(chǎng)景構(gòu)建基于Internet的Web應(yīng)用 需要建立自己的用戶管理和存儲(chǔ)機(jī)制 Form認(rèn)證(續(xù))認(rèn)證(續(xù)) Form認(rèn)證機(jī)制認(rèn)證機(jī)制在在Web.config中配置中配置Form認(rèn)證認(rèn)證 配置項(xiàng)配置說(shuō)明loginUrl指向應(yīng)用程序的自定義登錄頁(yè)。應(yīng)該將登錄頁(yè)放在需要安全套接字層 (SSL) 的文件夾中。這有助于確保憑據(jù)從瀏覽器傳到 Web 服務(wù)器時(shí)的完整性protection設(shè)置為 All,以指定窗體身份驗(yàn)證票的保密性和完整性。配置該項(xiàng)后,將使用 machineKey 元素上指定的算法對(duì)身份驗(yàn)證票證進(jìn)行加密,并且使用同樣是 machineKey 元素上指定的
5、哈希算法進(jìn)行簽名timeout用于指定窗體身份驗(yàn)證會(huì)話的有限生存期。默認(rèn)值為 30 分鐘。如果頒發(fā)持久的窗體身份驗(yàn)證 Cookie,timeout 屬性還用于設(shè)置持久 Cookie 的生存期name和 path 設(shè)置為應(yīng)用程序的配置文件中定義的值 requireSSL設(shè)置為 false。該配置意味著身份驗(yàn)證 Cookie 被通過(guò)未經(jīng) SSL 加密的信道進(jìn)行傳輸。如果擔(dān)心會(huì)話竊取,應(yīng)考慮將 requireSSL 設(shè)置為 true在在Web.config中配置中配置Form認(rèn)證認(rèn)證 配置項(xiàng)配置說(shuō)明slidingExpiration設(shè)置為 true 以執(zhí)行變化的會(huì)話生存期。這意味著只要用戶在站點(diǎn)上處
6、于活動(dòng)狀態(tài),會(huì)話超時(shí)就會(huì)定期重置defaultUrl設(shè)置為應(yīng)用程序的 Default.aspx 頁(yè)cookieless設(shè)置為 UseDeviceProfile,以指定應(yīng)用程序?qū)λ兄С?Cookie 的瀏覽器都使用 Cookie。如果不支持 Cookie 的瀏覽器訪問(wèn)該站點(diǎn),窗體身份驗(yàn)證在 URL 上打包身份驗(yàn)證票enableCrossAppRedirects設(shè)置為 false,以指明窗體身份驗(yàn)證不支持自動(dòng)處理在應(yīng)用程序之間傳遞的查詢字符串上的票證以及作為某個(gè)窗體 POST 一部分的傳遞的票證Passport認(rèn)證認(rèn)證Passport認(rèn)證是一種認(rèn)證是一種Microsoft提供的集中認(rèn)證服務(wù)提供的
7、集中認(rèn)證服務(wù) 使用使用Passport進(jìn)行認(rèn)證的步驟:進(jìn)行認(rèn)證的步驟: 獲取.NET Passport Software Development Kit (SDK) 在Web.config文件中按如下代碼來(lái)配置Passport認(rèn)證 使用.NET Passport SDK中的功能來(lái)實(shí)現(xiàn)認(rèn)證Web應(yīng)用的授權(quán)應(yīng)用的授權(quán)概述概述配置授權(quán)模塊FileAuthorizationModule UrlAuthorizationModule文件授權(quán)文件授權(quán)使用Windows ACL進(jìn)行授權(quán)在Web.config中進(jìn)行配置 ,指定相應(yīng)目錄或文件不同的權(quán)限 URL授權(quán)授權(quán)顯式允許或拒絕某個(gè)用戶名或角色對(duì)特定目錄的訪
8、問(wèn)權(quán)限顯式允許或拒絕某個(gè)用戶名或角色對(duì)特定目錄的訪問(wèn)權(quán)限 在在Web.config中進(jìn)行配置中進(jìn)行配置 屬性 說(shuō)明 users標(biāo)識(shí)此元素的目標(biāo)身份(用戶賬戶)。 用問(wèn)號(hào) (?) 標(biāo)識(shí)匿名用戶。可以用星號(hào) (*) 指定所有經(jīng)過(guò)身份驗(yàn)證的用戶roles 為被允許或被拒絕訪問(wèn)資源的當(dāng)前請(qǐng)求標(biāo)識(shí)一個(gè)角色(RolePrincipal 對(duì)象)verbs 定義操作所要應(yīng)用到的 HTTP 謂詞,如 GET、HEAD 和 POST。默認(rèn)值為“*”,它指定了所有謂詞使用使用Membership實(shí)現(xiàn)實(shí)現(xiàn)Web應(yīng)用的認(rèn)證應(yīng)用的認(rèn)證 Membership系統(tǒng)組件介紹系統(tǒng)組件介紹配置和啟用配置和啟用Membership
9、成員資格應(yīng)用編程接口成員資格應(yīng)用編程接口 ASP.NET 登錄控件登錄控件 Membership數(shù)據(jù)存儲(chǔ)和提供程序數(shù)據(jù)存儲(chǔ)和提供程序Membership系統(tǒng)組件介紹系統(tǒng)組件介紹Membership Membership APIAPIMembershipMembership數(shù)據(jù)數(shù)據(jù)Other Data Stores控件控件LoginStatusLoginViewOther Membership ProvidersMembership Membership 提供程序提供程序MembershipMembershipUserAspNetSqlMembershipProviderSQL ServerOt
10、her Login ControlsLogin配置和啟用配置和啟用Membership將成員資格選項(xiàng)指定為站點(diǎn)配置的一部分將成員資格選項(xiàng)指定為站點(diǎn)配置的一部分將應(yīng)用程序配置為使用將應(yīng)用程序配置為使用 Forms 身份驗(yàn)證(與身份驗(yàn)證(與 Windows 或或 Passport 身份驗(yàn)證不同)身份驗(yàn)證不同)為成員資格定義用戶賬戶為成員資格定義用戶賬戶成員資格應(yīng)用編程接口成員資格應(yīng)用編程接口Membership MembershipUser 演示和練習(xí):通過(guò)演示和練習(xí):通過(guò)Membership和和MembershipUser創(chuàng)創(chuàng)建用戶管理系統(tǒng)建用戶管理系統(tǒng) Membership 主要屬性主要屬性名
11、稱 說(shuō)明 ApplicationName 獲取或設(shè)置應(yīng)用程序的名稱EnablePasswordReset 獲得一個(gè)值,指示當(dāng)前成員資格提供程序是否配置為允許用戶重置其密碼EnablePasswordRetrieval 獲得一個(gè)值,指示當(dāng)前成員資格提供程序是否配置為允許用戶檢索其密碼HashAlgorithmType 用于哈希密碼的算法的標(biāo)識(shí)符MaxInvalidPasswordAttempts 獲取鎖定成員資格用戶前允許的無(wú)效密碼或無(wú)效密碼提示問(wèn)題答案嘗試次數(shù)MinRequiredNonAlphanumericCharacters 獲取有效密碼中必須包含的最少特殊字符數(shù)MinRequiredP
12、asswordLength 獲取密碼所要求的最小長(zhǎng)度Membership 主要屬性主要屬性名稱 說(shuō)明 PasswordAttemptWindow 獲取在鎖定成員資格用戶之前允許的最大無(wú)效密碼或無(wú)效密碼提示問(wèn)題答案嘗試次數(shù)的分鐘數(shù)PasswordStrengthRegularExpression 獲取用于計(jì)算密碼的正則表達(dá)式Provider 獲取對(duì)應(yīng)用程序的默認(rèn)成員資格提供程序的引用Providers 獲取一個(gè)用于 ASP.NET 應(yīng)用程序的成員資格提供程序的集合RequiresQuestionAndAnswer 獲取一個(gè)值,該值指示默認(rèn)成員資格提供程序是否要求用戶在進(jìn)行密碼重置和檢索時(shí)回答密碼
13、提示問(wèn)題UserIsOnlineTimeWindow 指定用戶在最近一次活動(dòng)的日期/時(shí)間戳之后被視為聯(lián)機(jī)的分鐘數(shù)Membership 主要方法主要方法名稱 說(shuō)明 CreateUser 已重載。 將新用戶添加到數(shù)據(jù)存儲(chǔ)區(qū)DeleteUser 已重載。 從數(shù)據(jù)庫(kù)中刪除一個(gè)用戶 FindUsersByEmail 已重載。 獲取一個(gè)成員資格用戶的集合,這些用戶的電子郵件地址包含要匹配的指定電子郵件地址 FindUsersByName 已重載。 獲取一個(gè)成員資格用戶的集合,這些用戶的用戶名包含要匹配的指定用戶名GeneratePassword 生成指定長(zhǎng)度的隨機(jī)密碼GetAllUsers 已重載。 獲取
14、數(shù)據(jù)庫(kù)中用戶的集合 GetNumberOfUsersOnline 獲取當(dāng)前訪問(wèn)應(yīng)用程序的用戶數(shù)GetUser 已重載。 從數(shù)據(jù)源獲取成員資格用戶的信息 Membership 主要方法主要方法名稱 說(shuō)明 GetUserNameByEmail 獲取一個(gè)用戶名,其中該用戶的電子郵件地址與指定的電子郵件地址匹配UpdateUser 用指定用戶的信息更新數(shù)據(jù)庫(kù) ValidateUser 驗(yàn)證提供的用戶名和密碼是有效的MembershipUser 主要屬性主要屬性名稱 說(shuō)明 Comment 獲取或設(shè)置成員資格用戶的特定于應(yīng)用程序的信息CreationDate 獲取將用戶添加到成員資格數(shù)據(jù)存儲(chǔ)區(qū)的日期和時(shí)間
15、Email 獲取或設(shè)置成員資格用戶的電子郵件地址IsApproved 獲取或設(shè)置一個(gè)值,表示是否可以對(duì)成員資格用戶進(jìn)行身份驗(yàn)證IsLockedOut 獲取一個(gè)值,該值指示成員資格用戶是否因被鎖定而無(wú)法進(jìn)行驗(yàn)證IsOnline 獲取一個(gè)值,表示用戶當(dāng)前是否聯(lián)機(jī)LastActivityDate 獲取或設(shè)置成員資格用戶上次進(jìn)行身份驗(yàn)證或訪問(wèn)應(yīng)用程序的日期和時(shí)間LastLockoutDate 獲取最近一次鎖定成員資格用戶的日期和時(shí)間MembershipUser 主要屬性主要屬性名稱 說(shuō)明 LastLoginDate 獲取或設(shè)置用戶上次進(jìn)行身份驗(yàn)證的日期和時(shí)間LastPasswordChangedDat
16、e 獲取上次更新成員資格用戶的密碼的日期和時(shí)間PasswordQuestion 獲取成員資格用戶的密碼提示問(wèn)題ProviderName 獲取成員資格提供程序的名稱,該提供程序存儲(chǔ)并檢索成員資格用戶的用戶信息ProviderUserKey 從用戶的成員資格數(shù)據(jù)源獲取用戶標(biāo)識(shí)符UserName 獲取成員資格用戶的登錄名MembershipUser 主要方法主要方法名稱 說(shuō)明 ChangePassword 更新成員資格數(shù)據(jù)存儲(chǔ)區(qū)中成員資格用戶的密碼ChangePasswordQuestionAndAnswer 更新成員資格數(shù)據(jù)存儲(chǔ)區(qū)中成員資格用戶的密碼提示問(wèn)題和密碼提示問(wèn)題答案GetPassword
17、 已重載。 從成員資格數(shù)據(jù)存儲(chǔ)區(qū)獲取成員資格用戶的密碼ResetPassword 已重載。 將用戶密碼重置為一個(gè)自動(dòng)生成的新密碼 ToString 已重寫。 返回成員資格用戶的用戶名 UnlockUser 清除用戶的鎖定狀態(tài)以便可以驗(yàn)證成員資格用戶 演示和練習(xí):通過(guò)演示和練習(xí):通過(guò)Membership和和MembershipUser實(shí)現(xiàn)用戶實(shí)現(xiàn)用戶管理功能管理功能 多媒體演示多媒體演示ASP.NET 登錄控件登錄控件CreateUserWizard 演示和練習(xí):使用演示和練習(xí):使用CreateUserWizard控件創(chuàng)建用戶控件創(chuàng)建用戶 Login 演示和練習(xí):使用演示和練習(xí):使用Login控
18、件登錄控件登錄Web應(yīng)用應(yīng)用 其他控件其他控件 演示和練習(xí):實(shí)現(xiàn)主要的用戶管理和登錄功能演示和練習(xí):實(shí)現(xiàn)主要的用戶管理和登錄功能CreateUserWizardCreateUserWizard 控件收集潛在用戶提供的信息控件收集潛在用戶提供的信息 ,將新用戶添加到將新用戶添加到 ASP.NET 成員資格系統(tǒng)中成員資格系統(tǒng)中 演示和練習(xí):使用演示和練習(xí):使用CreateUserWizard控件創(chuàng)建用戶控件創(chuàng)建用戶多媒體演示多媒體演示Login顯示用于執(zhí)行用戶身份驗(yàn)證的用戶界面顯示用于執(zhí)行用戶身份驗(yàn)證的用戶界面 使用使用Login控件,主要包括:控件,主要包括:控制 Login 控件在用戶登錄時(shí)是
19、否可見(jiàn) 指定登錄成功時(shí)顯示的頁(yè)面 控制是否將身份驗(yàn)證令牌存儲(chǔ)在持久性 Cookie 中 將“幫助”超鏈接添加到 Login 控件 將圖像添加到 Login 控件 演示和練習(xí):創(chuàng)建演示和練習(xí):創(chuàng)建Login控件登錄控件登錄Web應(yīng)用應(yīng)用 多媒體演示多媒體演示其他控件其他控件 LoginView LoginStatus LoginName PasswordRecovery ChangePassword 演示和練習(xí):實(shí)現(xiàn)主要的用戶管理和登錄功能演示和練習(xí):實(shí)現(xiàn)主要的用戶管理和登錄功能 多媒體演示多媒體演示Membership數(shù)據(jù)存儲(chǔ)和提供程序數(shù)據(jù)存儲(chǔ)和提供程序 創(chuàng)建自定義成員資格提供程序主要有兩個(gè)原因:創(chuàng)建自定義成員資格提供程序主要有兩
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版汽車銷售合同擔(dān)保法執(zhí)行合同3篇
- 2025年環(huán)保節(jié)能建筑材料供應(yīng)合同3篇
- 2025年度個(gè)人汽車貸款購(gòu)車合同(新能源汽車購(gòu)置補(bǔ)貼合同)3篇
- 長(zhǎng)沙幼兒師范高等??茖W(xué)?!睹绹?guó)文學(xué)史及選讀(2)》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年度文化產(chǎn)業(yè)股權(quán)投資保密及運(yùn)營(yíng)管理協(xié)議3篇
- 校園心理咨詢服務(wù)體系的完善與創(chuàng)新
- 2025年度夫妻忠誠(chéng)協(xié)議履行監(jiān)督與違約追究協(xié)議4篇
- 學(xué)生實(shí)訓(xùn)前安全教育的重要性與策略
- 心理教育課程在學(xué)生心理健康中的重要性
- 個(gè)人車輛抵押權(quán)協(xié)議標(biāo)準(zhǔn)范本2024版
- 三角形與全等三角形復(fù)習(xí)教案 人教版
- 2024年1月高考適應(yīng)性測(cè)試“九省聯(lián)考”英語(yǔ) 試題(學(xué)生版+解析版)
- 《朝天子·詠喇叭-王磐》核心素養(yǎng)目標(biāo)教學(xué)設(shè)計(jì)、教材分析與教學(xué)反思-2023-2024學(xué)年初中語(yǔ)文統(tǒng)編版
- 成長(zhǎng)小說(shuō)智慧樹(shù)知到期末考試答案2024年
- 紅色革命故事《王二小的故事》
- 海洋工程用高性能建筑鋼材的研發(fā)
- 英語(yǔ)48個(gè)國(guó)際音標(biāo)課件(單詞帶聲、附有聲國(guó)際音標(biāo)圖)
- GB/T 6892-2023一般工業(yè)用鋁及鋁合金擠壓型材
- 冷庫(kù)安全管理制度
- 2023同等學(xué)力申碩統(tǒng)考英語(yǔ)考試真題
- 家具安裝工培訓(xùn)教案優(yōu)質(zhì)資料
評(píng)論
0/150
提交評(píng)論