版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(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)證過程 Windows認(rèn)證 Form認(rèn)證 Passport認(rèn)證在在Web.config中配置認(rèn)證信息中配置認(rèn)證信息值 說明 Windows 將 Windows 認(rèn)證指定為默認(rèn)的身份認(rèn)證模式。將它與以下任意形式的 Microsoft Internet
2、 信息服務(wù) (IIS) 身份認(rèn)證結(jié)合起來使用:基本、摘要、集成 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)證過程中的認(rèn)證過程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 訪問令牌創(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)配置說明loginUrl指向應(yīng)用程序的自定義登錄頁。應(yīng)該將登錄頁放在需要安全套接字層 (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 被通過未經(jīng) SSL 加密的信道進(jìn)行傳輸。如果擔(dān)心會(huì)話竊取,應(yīng)考慮將 requireSSL 設(shè)置為 true在在Web.config中配置中配置Form認(rèn)證認(rèn)證 配置項(xiàng)配置說明slidingExpiration設(shè)置為 true 以執(zhí)行變化的會(huì)話生存期。這意味著只要用戶在站點(diǎn)上處
6、于活動(dòng)狀態(tài),會(huì)話超時(shí)就會(huì)定期重置defaultUrl設(shè)置為應(yīng)用程序的 Default.aspx 頁cookieless設(shè)置為 UseDeviceProfile,以指定應(yīng)用程序?qū)λ兄С?Cookie 的瀏覽器都使用 Cookie。如果不支持 Cookie 的瀏覽器訪問該站點(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文件中按如下代碼來配置Passport認(rèn)證 使用.NET Passport SDK中的功能來實(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、問權(quán)限顯式允許或拒絕某個(gè)用戶名或角色對(duì)特定目錄的訪問權(quán)限 在在Web.config中進(jìn)行配置中進(jìn)行配置 屬性 說明 users標(biāo)識(shí)此元素的目標(biāo)身份(用戶賬戶)。 用問號(hào) (?) 標(biāo)識(shí)匿名用戶。可以用星號(hào) (*) 指定所有經(jīng)過身份驗(yàn)證的用戶roles 為被允許或被拒絕訪問資源的當(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í):通過演示和練習(xí):通過Membership和和MembershipUser創(chuàng)創(chuàng)建用戶管理系統(tǒng)建用戶管理系統(tǒng) Membership 主要屬性主要屬性名
11、稱 說明 ApplicationName 獲取或設(shè)置應(yīng)用程序的名稱EnablePasswordReset 獲得一個(gè)值,指示當(dāng)前成員資格提供程序是否配置為允許用戶重置其密碼EnablePasswordRetrieval 獲得一個(gè)值,指示當(dāng)前成員資格提供程序是否配置為允許用戶檢索其密碼HashAlgorithmType 用于哈希密碼的算法的標(biāo)識(shí)符MaxInvalidPasswordAttempts 獲取鎖定成員資格用戶前允許的無效密碼或無效密碼提示問題答案嘗試次數(shù)MinRequiredNonAlphanumericCharacters 獲取有效密碼中必須包含的最少特殊字符數(shù)MinRequiredP
12、asswordLength 獲取密碼所要求的最小長度Membership 主要屬性主要屬性名稱 說明 PasswordAttemptWindow 獲取在鎖定成員資格用戶之前允許的最大無效密碼或無效密碼提示問題答案嘗試次數(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、提示問題UserIsOnlineTimeWindow 指定用戶在最近一次活動(dòng)的日期/時(shí)間戳之后被視為聯(lián)機(jī)的分鐘數(shù)Membership 主要方法主要方法名稱 說明 CreateUser 已重載。 將新用戶添加到數(shù)據(jù)存儲(chǔ)區(qū)DeleteUser 已重載。 從數(shù)據(jù)庫中刪除一個(gè)用戶 FindUsersByEmail 已重載。 獲取一個(gè)成員資格用戶的集合,這些用戶的電子郵件地址包含要匹配的指定電子郵件地址 FindUsersByName 已重載。 獲取一個(gè)成員資格用戶的集合,這些用戶的用戶名包含要匹配的指定用戶名GeneratePassword 生成指定長度的隨機(jī)密碼GetAllUsers 已重載。 獲取
14、數(shù)據(jù)庫中用戶的集合 GetNumberOfUsersOnline 獲取當(dāng)前訪問應(yīng)用程序的用戶數(shù)GetUser 已重載。 從數(shù)據(jù)源獲取成員資格用戶的信息 Membership 主要方法主要方法名稱 說明 GetUserNameByEmail 獲取一個(gè)用戶名,其中該用戶的電子郵件地址與指定的電子郵件地址匹配UpdateUser 用指定用戶的信息更新數(shù)據(jù)庫 ValidateUser 驗(yàn)證提供的用戶名和密碼是有效的MembershipUser 主要屬性主要屬性名稱 說明 Comment 獲取或設(shè)置成員資格用戶的特定于應(yīng)用程序的信息CreationDate 獲取將用戶添加到成員資格數(shù)據(jù)存儲(chǔ)區(qū)的日期和時(shí)間
15、Email 獲取或設(shè)置成員資格用戶的電子郵件地址IsApproved 獲取或設(shè)置一個(gè)值,表示是否可以對(duì)成員資格用戶進(jìn)行身份驗(yàn)證IsLockedOut 獲取一個(gè)值,該值指示成員資格用戶是否因被鎖定而無法進(jìn)行驗(yàn)證IsOnline 獲取一個(gè)值,表示用戶當(dāng)前是否聯(lián)機(jī)LastActivityDate 獲取或設(shè)置成員資格用戶上次進(jìn)行身份驗(yàn)證或訪問應(yīng)用程序的日期和時(shí)間LastLockoutDate 獲取最近一次鎖定成員資格用戶的日期和時(shí)間MembershipUser 主要屬性主要屬性名稱 說明 LastLoginDate 獲取或設(shè)置用戶上次進(jìn)行身份驗(yàn)證的日期和時(shí)間LastPasswordChangedDat
16、e 獲取上次更新成員資格用戶的密碼的日期和時(shí)間PasswordQuestion 獲取成員資格用戶的密碼提示問題ProviderName 獲取成員資格提供程序的名稱,該提供程序存儲(chǔ)并檢索成員資格用戶的用戶信息ProviderUserKey 從用戶的成員資格數(shù)據(jù)源獲取用戶標(biāo)識(shí)符UserName 獲取成員資格用戶的登錄名MembershipUser 主要方法主要方法名稱 說明 ChangePassword 更新成員資格數(shù)據(jù)存儲(chǔ)區(qū)中成員資格用戶的密碼ChangePasswordQuestionAndAnswer 更新成員資格數(shù)據(jù)存儲(chǔ)區(qū)中成員資格用戶的密碼提示問題和密碼提示問題答案GetPassword
17、 已重載。 從成員資格數(shù)據(jù)存儲(chǔ)區(qū)獲取成員資格用戶的密碼ResetPassword 已重載。 將用戶密碼重置為一個(gè)自動(dòng)生成的新密碼 ToString 已重寫。 返回成員資格用戶的用戶名 UnlockUser 清除用戶的鎖定狀態(tài)以便可以驗(yàn)證成員資格用戶 演示和練習(xí):通過演示和練習(xí):通過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、否可見 指定登錄成功時(shí)顯示的頁面 控制是否將身份驗(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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五版消防設(shè)備進(jìn)出口合同72815936662篇
- 二零二五年度美容護(hù)膚品銷售代理合同
- 工作環(huán)境與員工滿意度調(diào)查
- 二零二五年度家庭矛盾離婚調(diào)解合同9篇
- 腫瘤科護(hù)士的腫瘤治療工作總結(jié)
- 高校教研創(chuàng)新成果評(píng)選
- 二零二五年度兒童領(lǐng)養(yǎng)協(xié)議書標(biāo)準(zhǔn)版3篇
- 二零二五版同居解除協(xié)議書:情感賠償與財(cái)產(chǎn)清算3篇
- 二零二五年度建筑工程鋼管腳手架供應(yīng)與安裝合同
- 二零二五年度個(gè)人藝術(shù)品買賣合同規(guī)定3篇
- 地測(cè)防治水技能競(jìng)賽理論考試題庫(含答案)
- 以諾書-中英對(duì)照
- 幼兒園師資培訓(xùn)課件【區(qū)域進(jìn)階】科學(xué)區(qū)各年齡段目標(biāo)制定與投放材料:區(qū)域材料玩出新高度課件
- DL∕T 1100.1-2018 電力系統(tǒng)的時(shí)間同步系統(tǒng) 第1部分:技術(shù)規(guī)范
- 三角形與全等三角形復(fù)習(xí)教案 人教版
- 以房抵債過戶合同范本
- 重大版小學(xué)英語四年級(jí)下冊(cè)期末測(cè)試卷
- 2024年1月高考適應(yīng)性測(cè)試“九省聯(lián)考”英語 試題(學(xué)生版+解析版)
- 《朝天子·詠喇叭-王磐》核心素養(yǎng)目標(biāo)教學(xué)設(shè)計(jì)、教材分析與教學(xué)反思-2023-2024學(xué)年初中語文統(tǒng)編版
- 2024浙江省農(nóng)發(fā)集團(tuán)社會(huì)招聘筆試參考題庫附帶答案詳解
- 成長小說智慧樹知到期末考試答案2024年
評(píng)論
0/150
提交評(píng)論