ASPNET電子教案ch07.ppt_第1頁
ASPNET電子教案ch07.ppt_第2頁
ASPNET電子教案ch07.ppt_第3頁
ASPNET電子教案ch07.ppt_第4頁
ASPNET電子教案ch07.ppt_第5頁
已閱讀5頁,還剩34頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、2020年8月14日,第1頁,第7章 Web站點(diǎn)中的安全性,教學(xué)目標(biāo) 本章內(nèi)容,2020年8月14日,第2頁,教學(xué)目標(biāo),ASP.NET驗(yàn)證方式 ASP.NET應(yīng)用程序服務(wù) 登錄控件的使用 使用WSAT管理用戶和角色 以編程方式檢查角色,2020年8月14日,第3頁,本章內(nèi)容,7.1 安全性概述 7.2 登錄控件 7.3 ASP.NET網(wǎng)站配置管理 7.4 本章小結(jié) 7.5 思考和練習(xí),2020年8月14日,第4頁,本章內(nèi)容,7.1 安全性概述 7.2 登錄控件 7.3 ASP.NET網(wǎng)站配置管理 7.4 本章小結(jié) 7.5 思考和練習(xí),2020年8月14日,第5頁,7.1 安全性概述,全性是系統(tǒng)

2、設(shè)計(jì)、實(shí)現(xiàn)和管理的一部分,其作用是保證系統(tǒng)可以完全地按照人們想要的方式運(yùn)行。從另一個(gè)角度來說,安全性的作用是防止系統(tǒng)被攻擊或惡意破壞。 關(guān)于安全性 ASP.NET驗(yàn)證方式 ASP.NET應(yīng)用程序服務(wù),2020年8月14日,第6頁,關(guān)于安全性,安全性是一個(gè)非常復(fù)雜的主題,它通常涉及3個(gè)重要的問題: 身份:身份就是表示你是誰,對(duì)于一個(gè)Web站點(diǎn),用戶的身份通常是一個(gè)登錄名。 身份驗(yàn)證(Authentication):身份驗(yàn)證就是如何證明你所具有的身份,通常以用戶名和密碼配對(duì)來確認(rèn)用戶的身份。還有許多其他身份驗(yàn)證機(jī)制,包括高科技的指紋或虹膜掃描、智能卡和令牌等。本章只討論用戶名和密碼身份驗(yàn)證方式。

3、授權(quán)(Authorization):授權(quán)是值登錄成功后,用戶被允許執(zhí)行什么操作。 ASP.NET中的這些安全概念是使用應(yīng)用程序服務(wù)(application service)實(shí)現(xiàn)的。,2020年8月14日,第7頁,ASP.NET驗(yàn)證方式,ASP.NET提供多種方式來處理驗(yàn)證請(qǐng)求和確認(rèn)用戶身份,包括3種。 Windows身份驗(yàn)證:Windows身份驗(yàn)證是使用傳統(tǒng)“基本”、NTLM/Kerberose和Digest驗(yàn)證方式,它是直接使用Windows域用戶權(quán)限。 窗體基本驗(yàn)證:窗體基本驗(yàn)證方式是使用Web窗體獲取用戶名和密碼后,以FormsAuthentication類或Membership類方法來

4、檢查用戶身份,可以使用web.config文件、XML文件或數(shù)據(jù)庫(kù)來存儲(chǔ)會(huì)員數(shù)據(jù)。 護(hù)照驗(yàn)證:護(hù)照驗(yàn)證是Microsoft提供的單一登錄服務(wù),如同護(hù)照一樣,用戶只需登錄一次,就可以進(jìn)入任何參與此服務(wù)的群組網(wǎng)站。,2020年8月14日,第8頁,標(biāo)記,ASP.NET建立的Web應(yīng)用程序如果需要使用驗(yàn)證服務(wù),可以在web.config文件的標(biāo)記(在子標(biāo)記中)中指定驗(yàn)證方式,標(biāo)記使用mode屬性指定驗(yàn)證方式。,2020年8月14日,第9頁,標(biāo)記,當(dāng)用戶身份經(jīng)過驗(yàn)證后,就可以授予用戶權(quán)限。在標(biāo)記(在子標(biāo)記中)中指定用戶權(quán)限,在該標(biāo)記中可以有0到多個(gè)和子標(biāo)記:標(biāo)記表示允許存取的資源;標(biāo)記表示不允許存取的資

5、源。 users使用逗號(hào)“,”分隔的用戶,這些用戶允許或不允許存取資源,“?”代表匿名用戶,“*”代表所有用戶 roles使用逗號(hào)“,”分隔的角色,默認(rèn)為Windows群組名稱,屬于該角色的用戶允許或不允許存取資源 verbs使用逗號(hào)“,”分隔的HTTP傳輸方法,可以有:GET、HEAD、POST和DEBUG,2020年8月14日,第10頁,窗體基本驗(yàn)證,ASP.NET窗體基本驗(yàn)證也稱Cookie基本驗(yàn)證,因?yàn)樗鞘褂肅ookie來存儲(chǔ)驗(yàn)證記錄的。 當(dāng)用戶成功登錄網(wǎng)站后,以Cookie存儲(chǔ)的驗(yàn)證數(shù)據(jù)就會(huì)建立,用戶可以擁有權(quán)限進(jìn)入其他需要驗(yàn)證的網(wǎng)頁。如果用戶尚未登錄,就進(jìn)入一個(gè)需要驗(yàn)證的頁面,就

6、會(huì)自動(dòng)跳轉(zhuǎn)到登錄網(wǎng)頁,要求用戶首先登錄網(wǎng)站。 當(dāng)標(biāo)記的mode屬性為Forms是,就是使用窗體基本驗(yàn)證,其子標(biāo)記可以指定驗(yàn)證的Cookie名稱和登錄網(wǎng)頁的URL地址等相關(guān)信息,2020年8月14日,第11頁,ASP.NET應(yīng)用程序服務(wù) (1/2),ASP.NET 2.0之前的版本都有某種安全性支持。不過,它們都缺乏ASP.NET 2.0和之后的版本中提供的高級(jí)控件和概念。在ASP.NET 1.x應(yīng)用程序中,需要編寫大量代碼來實(shí)現(xiàn)可靠的安全策略。而且需要在所有Web站點(diǎn)中重復(fù)編寫幾乎一樣的代碼。 而自從應(yīng)用程序服務(wù)隨著ASP.NET 2.0一起問世,這些問題就得到了解決。應(yīng)用程序服務(wù)是可以在We

7、b應(yīng)用程序中用來支持用戶、角色和配置文件等的一組服務(wù)。,2020年8月14日,第12頁,ASP.NET應(yīng)用程序服務(wù) (2/2),ASP.NET 4中仍然大量存在這類服務(wù)。其中最重要的是如下幾個(gè): 成員(Membership):可以管理和使用系統(tǒng)中的用戶賬戶 角色(Role):可以管理用戶被指派的角色 配置文件(Profile):允許將用戶特定的數(shù)據(jù)存儲(chǔ)到后臺(tái)數(shù)據(jù)庫(kù),2020年8月14日,第13頁,2020年8月14日,第14頁,本章內(nèi)容,7.1 安全性概述 7.2 登錄控件 7.3 ASP.NET網(wǎng)站配置管理 7.4 本章小結(jié) 7.5 思考和練習(xí),2020年8月14日,第15頁,7.2 登錄控

8、件,Login控件 LoginView控件 LoginStatus控件 LoginName控件 CreateUserWizard控件 PasswordRecovery控件 ChangePassword控件,2020年8月14日,第16頁,Login控件,Login控件允許用戶登錄到站點(diǎn)。而在后臺(tái),它通過應(yīng)用程序服務(wù)與配置好的成員提供者進(jìn)行通信,查看用戶名和密碼是否代表系統(tǒng)中的有效用戶。如果用戶通過驗(yàn)證,就生成發(fā)送到用戶瀏覽器的cookie。對(duì)于后續(xù)的請(qǐng)求,瀏覽器重新提交該cookie給服務(wù)器,這樣系統(tǒng)就知道它仍在處理有效用戶。成員提供者的不同設(shè)置都在web.config文件的元素中進(jìn)行配置。,

9、2020年8月14日,第17頁,LoginView控件,LoginView控件用于向不同的用戶顯示不同的數(shù)據(jù)。可以區(qū)分匿名用戶和登錄用戶,甚至區(qū)分不同角色中的用戶。LoginView是模板驅(qū)動(dòng)的,因此我們可允定義顯示給不同用戶的不同模板。 除了定義在控件的各種子元素中的內(nèi)容,LoginView控件本身并不輸出任何標(biāo)記,這意味著可以很容易地將它嵌入一對(duì)HTML標(biāo)記之間,如和,從而創(chuàng)建自定義標(biāo)題或者列表項(xiàng)。,2020年8月14日,第18頁,LoginStatus控件,LoginStatus控件提供了有關(guān)用戶當(dāng)前狀態(tài)的信息。當(dāng)用戶未進(jìn)行身份驗(yàn)證時(shí),它提供“登錄”鏈接,當(dāng)用戶登錄后,它提供“注銷”鏈接

10、。通過設(shè)置LoginText和LogoutText屬性,可以控制實(shí)際顯示的文本。也可以設(shè)置LoginImageUrl和LogoutImageUrl屬性顯示一個(gè)圖像而非文本。LogoutAction屬性可用來決定在用戶注銷時(shí)是否刷新當(dāng)前頁面,或是否在用戶注銷后將用戶帶至另一個(gè)頁面,通過設(shè)置LogoutPageUrl可以可以確定這一目標(biāo)頁面。 除了這些屬性,該控件可以引發(fā)兩個(gè)事件:LoggingOut和LoggedOut,它們分別在用戶剛注銷前后觸發(fā)。,2020年8月14日,第19頁,LoginName控件,LoginName是一個(gè)極為簡(jiǎn)單的控件。它的作用就是顯示登錄用戶的名稱。為了將用戶名嵌入到

11、一些文本中,可以使用FormatString屬性。例如將FormatString屬性設(shè)置為“當(dāng)前登錄用戶是:0”,運(yùn)行時(shí)0將被實(shí)際登錄的用戶名所取代。,2020年8月14日,第20頁,CreateUserWizard控件,CreateUserWizard控件用于注冊(cè)新用戶,該控件有一個(gè)較長(zhǎng)的Text屬性列表,包括CancelButtonText、CompleteSuccessText、UserNameLabelText和CreateUserButtonText,它們會(huì)影響控件中使用的文本。所有屬性都有默認(rèn)設(shè)置,開發(fā)人員也可以將其修改為滿足自己需求的內(nèi)容。 CreateUserWizard控件能

12、夠向用戶發(fā)送一封確認(rèn)電子郵件,通知它們新賬戶已經(jīng)成功建立。這封電子郵件可以提醒它們的用戶名和密碼。,2020年8月14日,第21頁,PasswordRecovery控件,PasswordRecovery控件允許用戶獲得他們已有的密碼(如果系統(tǒng)支持)或是獲得一個(gè)新的自動(dòng)生成的密碼。在這兩種情況下,密碼都將發(fā)送到用戶注冊(cè)時(shí)輸入的電子郵件地址中。 和CreateUserWizard一樣,PasswordRecovery也有一個(gè)MailDefinition元素,該元素用于指向作為郵件正文發(fā)送的文件??梢詫?duì)用戶名和密碼使用同樣的占位符來自定義消息。如果不對(duì)MailDefinition進(jìn)行配置,則控件會(huì)使

13、用一個(gè)默認(rèn)的郵件正文。,2020年8月14日,第22頁,ChangePassword控件,ChangePassword控件允許已有用戶和登錄用戶更改他們的密碼。類似于CreateUserWizard和PasswordRecovery控件,它有許多屬性,可用于修改文本、錯(cuò)誤消息和按鈕。它也有一個(gè)MailDefinition元素,允許發(fā)送新密碼的確認(rèn)消息給用戶的電子郵件地址。,2020年8月14日,第23頁,本章內(nèi)容,7.1 安全性概述 7.2 登錄控件 7.3 ASP.NET網(wǎng)站配置管理 7.4 本章小結(jié) 7.5 思考和練習(xí),2020年8月14日,第24頁,7.3 ASP.NET網(wǎng)站配置管理,A

14、SP.NET應(yīng)用程序服務(wù)是可以在Web應(yīng)用程序中用來支持用戶、角色和配置文件等的一組服務(wù)。通過這些服務(wù)可以管理ASP.NET的安全、應(yīng)用程序和提高程序等。 ASP.NET網(wǎng)站管理工具 使用WSAT管理用戶 以便從方式檢查角色,2020年8月14日,第25頁,ASP.NET網(wǎng)站管理工具,ASP.NET網(wǎng)站管理工具(Web Site Administration Tool,稱為WSAT)是一個(gè)選項(xiàng)卡式界面的Web工具,該界面將相關(guān)的配置設(shè)置組合在各個(gè)選項(xiàng)卡中。選擇“網(wǎng)站”|“ASP.NET配置”命令,即可打開該工具。,2020年8月14日,第26頁,安全選項(xiàng)卡,使用“安全”選項(xiàng)卡可以設(shè)置和編輯用戶

15、、角色和對(duì)站點(diǎn)的訪問規(guī)則,訪問規(guī)則有助于保證網(wǎng)站內(nèi)特定資源的安全。,2020年8月14日,第27頁,應(yīng)用程序選項(xiàng)卡,在此頁中可使用不希望硬編碼到頁面中的值來配置應(yīng)用程序,使應(yīng)用程序可以發(fā)送電子郵件、配置調(diào)試、設(shè)置默認(rèn)錯(cuò)誤頁,以及停止或啟動(dòng)應(yīng)用程序。具體包括如下設(shè)置: 應(yīng)用程序設(shè)置:這些設(shè)置是要集中存儲(chǔ)并通過代碼從網(wǎng)站中的任意位置來訪問的名稱/值對(duì)。 SMTP設(shè)置:設(shè)置網(wǎng)站如何發(fā)送電子郵件。 應(yīng)用程序狀態(tài):可以設(shè)置使網(wǎng)站脫機(jī),以執(zhí)行維護(hù),或使新的Microsoft SQL Server Standard版本數(shù)據(jù)庫(kù)聯(lián)機(jī)。 調(diào)試和跟蹤:可以設(shè)置調(diào)試和跟蹤選項(xiàng),還可以定義默認(rèn)的錯(cuò)誤頁來報(bào)告.aspx錯(cuò)

16、誤。,2020年8月14日,第28頁,提供程序選項(xiàng)卡,使用“提供程序”選項(xiàng)卡可以配置網(wǎng)站管理數(shù)據(jù)(如成員資格)的存儲(chǔ)方式??梢詫?duì)站點(diǎn)的所有管理數(shù)據(jù)只使用一個(gè)提供程序,也可以為每種功能指定不同的提供程序。 數(shù)據(jù)庫(kù)提供程序是為特定功能存儲(chǔ)應(yīng)用程序數(shù)據(jù)時(shí)所調(diào)用的類。默認(rèn)情況下,網(wǎng)站管理工具配置并使用網(wǎng)站的App_Data文件夾中的本地SQL Server Express數(shù)據(jù)庫(kù)。也可以選擇使用其他提供程序來存儲(chǔ)成員資格和角色管理。,2020年8月14日,第29頁,使用WSAT管理用戶,使用WSAT可以完成下列任務(wù): 管理用戶 管理角色 管理訪問規(guī)則例如,決定什么用戶可訪問什么文件和文件夾 配置應(yīng)用程序

17、、郵件和調(diào)試設(shè)置 使站點(diǎn)脫機(jī),這樣用戶就不能請(qǐng)求任何頁面,而是獲得一個(gè)友好的錯(cuò)誤消息 使用WSAT所作的一些更改將保存在應(yīng)用程序的web.config文件中。而其他一些設(shè)置,如創(chuàng)建的用戶和角色,存儲(chǔ)在已配置的提供者的數(shù)據(jù)庫(kù)中。,2020年8月14日,第30頁,管理用戶和角色,2020年8月14日,第31頁,管理用戶和角色,在“角色”區(qū)域,單擊“啟用角色”鏈接,將為網(wǎng)站啟用角色管理,同時(shí),頁面將刷新,出現(xiàn)“禁用角色”和“創(chuàng)建或管理角色”鏈接。單擊“創(chuàng)建或管理角色”鏈接,打開“創(chuàng)建新角色”頁面。,2020年8月14日,第32頁,創(chuàng)建訪問規(guī)則,在“訪問規(guī)則”區(qū)域中單擊“創(chuàng)建訪問規(guī)則”鏈接,打開“添加

18、新訪問規(guī)則”頁面,在此頁面中可以設(shè)置網(wǎng)站的某個(gè)目錄的訪問規(guī)則,允許或者拒絕指定的角色或用戶具有該目錄的訪問權(quán)限。 這樣創(chuàng)建的訪問規(guī)則有一個(gè)缺點(diǎn):就是它將安全設(shè)置存儲(chǔ)在不同的web.config文件中,配置的每個(gè)子文件夾都有一個(gè)。,2020年8月14日,第33頁,使用元素,ASP.NET還允許使用元素將相同的設(shè)置配置到主web.config文件中。元素有一個(gè)path屬性,它可以指向要進(jìn)行不同配置的文件或文件夾。也可以對(duì)web.config文件的其他許多(但并非全部)設(shè)置使用元素。,2020年8月14日,第34頁,以編程方式檢查角色,可以通過當(dāng)前頁面或用戶控件訪問User屬性的IsInRole方法,如下所示: if (User.IsInRole(Admin) /do something 可訪問包含可直接訪問的大量靜態(tài)方法的Roles類。如下所示: if (Roles.IsUserInRole(Admin) / do something ,2020年8月1

溫馨提示

  • 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. 人人文庫(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論