第八章_Web應(yīng)用的認(rèn)證與授權(quán)_第1頁
第八章_Web應(yīng)用的認(rèn)證與授權(quán)_第2頁
第八章_Web應(yīng)用的認(rèn)證與授權(quán)_第3頁
第八章_Web應(yīng)用的認(rèn)證與授權(quán)_第4頁
第八章_Web應(yīng)用的認(rèn)證與授權(quán)_第5頁
已閱讀5頁,還剩36頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

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)用場景應(yīng)用場景應(yīng)用程序使用 Active Directory 用戶存儲 構(gòu)建

3、基于企業(yè)內(nèi)部的Web應(yīng)用 認(rèn)證機(jī)制認(rèn)證機(jī)制WindowsAuthenticationModule 使用從 IIS 傳遞到 ASP.NET 的 Windows 訪問令牌創(chuàng)建一個 WindowsPrincipal 對象 WindowsAuthenticationModule 類使用 P/Invoke 調(diào)用 Win32 函數(shù)并獲得該用戶所屬的 Windows 組的列表 WindowsAuthenticationModule 類將 WindowsPrincipal 對象存儲在 HttpContext.User 屬性中 演示和練習(xí):在演示和練習(xí):在IIS中配置中配置Windows認(rèn)證認(rèn)證多媒體演示多媒體

4、演示Form認(rèn)證認(rèn)證Form認(rèn)證場景認(rèn)證場景構(gòu)建基于Internet的Web應(yīng)用 需要建立自己的用戶管理和存儲機(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ù)器時的完整性protection設(shè)置為 All,以指定窗體身份驗(yàn)證票的保密性和完整性。配置該項(xiàng)后,將使用 machineKey 元素上指定的算法對身份驗(yàn)證票證進(jìn)行加密,并且使用同樣是 machineKey 元素上指定的

5、哈希算法進(jìn)行簽名timeout用于指定窗體身份驗(yàn)證會話的有限生存期。默認(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)心會話竊取,應(yīng)考慮將 requireSSL 設(shè)置為 true在在Web.config中配置中配置Form認(rèn)證認(rèn)證 配置項(xiàng)配置說明slidingExpiration設(shè)置為 true 以執(zhí)行變化的會話生存期。這意味著只要用戶在站點(diǎn)上處

6、于活動狀態(tài),會話超時就會定期重置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)證不支持自動處理在應(yīng)用程序之間傳遞的查詢字符串上的票證以及作為某個窗體 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)顯式允許或拒絕某個用戶名或角色對特定目錄的訪

8、問權(quán)限顯式允許或拒絕某個用戶名或角色對特定目錄的訪問權(quán)限 在在Web.config中進(jìn)行配置中進(jìn)行配置 屬性 說明 users標(biāo)識此元素的目標(biāo)身份(用戶賬戶)。 用問號 (?) 標(biāo)識匿名用戶??梢杂眯翘?(*) 指定所有經(jīng)過身份驗(yàn)證的用戶roles 為被允許或被拒絕訪問資源的當(dāng)前請求標(biāo)識一個角色(RolePrincipal 對象)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ù)存儲和提供程序數(shù)據(jù)存儲和提供程序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 獲得一個值,指示當(dāng)前成員資格提供程序是否配置為允許用戶重置其密碼EnablePasswordRetrieval 獲得一個值,指示當(dāng)前成員資格提供程序是否配置為允許用戶檢索其密碼HashAlgorithmType 用于哈希密碼的算法的標(biāo)識符MaxInvalidPasswordAttempts 獲取鎖定成員資格用戶前允許的無效密碼或無效密碼提示問題答案嘗試次數(shù)MinRequiredNonAlphanumericCharacters 獲取有效密碼中必須包含的最少特殊字符數(shù)MinRequiredP

12、asswordLength 獲取密碼所要求的最小長度Membership 主要屬性主要屬性名稱 說明 PasswordAttemptWindow 獲取在鎖定成員資格用戶之前允許的最大無效密碼或無效密碼提示問題答案嘗試次數(shù)的分鐘數(shù)PasswordStrengthRegularExpression 獲取用于計算密碼的正則表達(dá)式Provider 獲取對應(yīng)用程序的默認(rèn)成員資格提供程序的引用Providers 獲取一個用于 ASP.NET 應(yīng)用程序的成員資格提供程序的集合RequiresQuestionAndAnswer 獲取一個值,該值指示默認(rèn)成員資格提供程序是否要求用戶在進(jìn)行密碼重置和檢索時回答密碼

13、提示問題UserIsOnlineTimeWindow 指定用戶在最近一次活動的日期/時間戳之后被視為聯(lián)機(jī)的分鐘數(shù)Membership 主要方法主要方法名稱 說明 CreateUser 已重載。 將新用戶添加到數(shù)據(jù)存儲區(qū)DeleteUser 已重載。 從數(shù)據(jù)庫中刪除一個用戶 FindUsersByEmail 已重載。 獲取一個成員資格用戶的集合,這些用戶的電子郵件地址包含要匹配的指定電子郵件地址 FindUsersByName 已重載。 獲取一個成員資格用戶的集合,這些用戶的用戶名包含要匹配的指定用戶名GeneratePassword 生成指定長度的隨機(jī)密碼GetAllUsers 已重載。 獲取

14、數(shù)據(jù)庫中用戶的集合 GetNumberOfUsersOnline 獲取當(dāng)前訪問應(yīng)用程序的用戶數(shù)GetUser 已重載。 從數(shù)據(jù)源獲取成員資格用戶的信息 Membership 主要方法主要方法名稱 說明 GetUserNameByEmail 獲取一個用戶名,其中該用戶的電子郵件地址與指定的電子郵件地址匹配UpdateUser 用指定用戶的信息更新數(shù)據(jù)庫 ValidateUser 驗(yàn)證提供的用戶名和密碼是有效的MembershipUser 主要屬性主要屬性名稱 說明 Comment 獲取或設(shè)置成員資格用戶的特定于應(yīng)用程序的信息CreationDate 獲取將用戶添加到成員資格數(shù)據(jù)存儲區(qū)的日期和時間

15、Email 獲取或設(shè)置成員資格用戶的電子郵件地址IsApproved 獲取或設(shè)置一個值,表示是否可以對成員資格用戶進(jìn)行身份驗(yàn)證IsLockedOut 獲取一個值,該值指示成員資格用戶是否因被鎖定而無法進(jìn)行驗(yàn)證IsOnline 獲取一個值,表示用戶當(dāng)前是否聯(lián)機(jī)LastActivityDate 獲取或設(shè)置成員資格用戶上次進(jìn)行身份驗(yàn)證或訪問應(yīng)用程序的日期和時間LastLockoutDate 獲取最近一次鎖定成員資格用戶的日期和時間MembershipUser 主要屬性主要屬性名稱 說明 LastLoginDate 獲取或設(shè)置用戶上次進(jìn)行身份驗(yàn)證的日期和時間LastPasswordChangedDat

16、e 獲取上次更新成員資格用戶的密碼的日期和時間PasswordQuestion 獲取成員資格用戶的密碼提示問題ProviderName 獲取成員資格提供程序的名稱,該提供程序存儲并檢索成員資格用戶的用戶信息ProviderUserKey 從用戶的成員資格數(shù)據(jù)源獲取用戶標(biāo)識符UserName 獲取成員資格用戶的登錄名MembershipUser 主要方法主要方法名稱 說明 ChangePassword 更新成員資格數(shù)據(jù)存儲區(qū)中成員資格用戶的密碼ChangePasswordQuestionAndAnswer 更新成員資格數(shù)據(jù)存儲區(qū)中成員資格用戶的密碼提示問題和密碼提示問題答案GetPassword

17、 已重載。 從成員資格數(shù)據(jù)存儲區(qū)獲取成員資格用戶的密碼ResetPassword 已重載。 將用戶密碼重置為一個自動生成的新密碼 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 控件在用戶登錄時是

19、否可見 指定登錄成功時顯示的頁面 控制是否將身份驗(yàn)證令牌存儲在持久性 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ù)存儲和提供程序數(shù)據(jù)存儲和提供程序 創(chuàng)建自定義成員資格提供程序主要有兩個原因:創(chuàng)建自定義成員資格提供程序主要有兩

溫馨提示

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

評論

0/150

提交評論