《ASP NET開發(fā)與應(yīng)用實(shí)踐》課件第8章第1節(jié)第2節(jié)_第1頁(yè)
《ASP NET開發(fā)與應(yīng)用實(shí)踐》課件第8章第1節(jié)第2節(jié)_第2頁(yè)
《ASP NET開發(fā)與應(yīng)用實(shí)踐》課件第8章第1節(jié)第2節(jié)_第3頁(yè)
《ASP NET開發(fā)與應(yīng)用實(shí)踐》課件第8章第1節(jié)第2節(jié)_第4頁(yè)
《ASP NET開發(fā)與應(yīng)用實(shí)踐》課件第8章第1節(jié)第2節(jié)_第5頁(yè)
已閱讀5頁(yè),還剩50頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

本章教學(xué)要點(diǎn)本章要點(diǎn):8-1網(wǎng)站安全登錄技術(shù)8-2網(wǎng)站登錄管理技術(shù)8-3登錄控件及使用8-4頁(yè)面安全訪問技術(shù)8-5

Sql注入攻擊的防范8-6數(shù)據(jù)加密技術(shù)

1思考問題?什么是用戶管理?什么是角色?網(wǎng)站的訪問權(quán)限如何配置?什么是可視化的配置?什么是配置文件?配置文件名為什么?28-1網(wǎng)站安全登錄技術(shù)

38.1.1成員管理和角色管理概念

成員管理和權(quán)限管理,是網(wǎng)站安全管理的重要組成部分。如何確保網(wǎng)站中的重要內(nèi)容不被未授權(quán)的用戶訪問,是網(wǎng)絡(luò)信息安全的重要內(nèi)容。8-1網(wǎng)站安全登錄技術(shù)1、Membership(成員管理).NET2.0中,Membership提供了一整套內(nèi)置的用于用戶管理、身份驗(yàn)證、用戶信任以及數(shù)據(jù)庫(kù)架構(gòu)設(shè)計(jì)的解決方案。因此,在.NET2.0中,可以輕易地使用來(lái)Membership(成員管理)構(gòu)建項(xiàng)目的用戶管理模塊。在開發(fā)的同時(shí),不但可以結(jié)合ASP.NET2.0提供的相關(guān)控件來(lái)實(shí)現(xiàn)用戶管理,也可以在自定義的控件中調(diào)用Membership提供的方法來(lái)進(jìn)行Web驗(yàn)證。48-1網(wǎng)站安全登錄技術(shù)2、Roles(角色管理)Roles(角色管理)與Membership相結(jié)合,構(gòu)成了ASP.NET2.0框架下用戶安全登錄的基礎(chǔ)。如果要讓一個(gè)網(wǎng)站的部分內(nèi)容只提供給擁有特定授權(quán)級(jí)別的用戶瀏覽,或者只讓網(wǎng)站管理員才能進(jìn)入后臺(tái)的特定管理模塊和拒絕其他沒有授權(quán)或授權(quán)級(jí)別不夠的用戶訪問,采用Roles(角色管理)與Membership相結(jié)合的處理辦法,將得到絕佳的效果。58.1.2成員管理的實(shí)現(xiàn)1、身份驗(yàn)證身份驗(yàn)證的4種方式:Windows(默認(rèn)):基于Windows的身份驗(yàn)證,適合于在企業(yè)內(nèi)部Intranet站點(diǎn)中使用。None:不進(jìn)行授權(quán)與身份驗(yàn)證;Form(常用):基于Cookie的身份認(rèn)證機(jī)制,可以自動(dòng)將未經(jīng)身份驗(yàn)證的用戶重定向到自定義的“登錄網(wǎng)頁(yè)”,只有登錄成功后,方可查看特定網(wǎng)頁(yè)內(nèi)容。Passport:通過Microsoft的集中身份驗(yàn)證服務(wù)執(zhí)行。這種認(rèn)證方式適合跨站應(yīng)用,即用戶只需一個(gè)用戶名及密碼就可以訪問任何成員站點(diǎn)。68.1.2成員管理的實(shí)現(xiàn)

在ASP.NET中,通過配置web.config文件來(lái)設(shè)置不同的身份驗(yàn)證方式。在web.config文件中,有一個(gè)<authentiCation>配置節(jié),用于設(shè)置身份驗(yàn)證方式。其格式為:〈system.web><authenticationmode=“Windows|Forms|Passport|None”/></system.web>78.1.2成員管理的實(shí)現(xiàn)

其中,通過mode屬性,配置系統(tǒng)的身份驗(yàn)證方式。例如下列程序,配置的身份驗(yàn)證方式是Windows身份驗(yàn)證方式:〈system.web><authenticationmode=“Windows”/></system.web>

也就是,在本機(jī)操作系統(tǒng)上成功登錄的某個(gè)用戶,也就自動(dòng)有了網(wǎng)站的相對(duì)應(yīng)用的訪問權(quán)限。例如下列程序,配置的身份驗(yàn)證方式Forms身份驗(yàn)證方式:〈system.web><authenticationmode=“Forms”/></system.web>

也就是,在本機(jī)操作系統(tǒng)上成功登錄的用戶,要訪問網(wǎng)站,還必須在網(wǎng)站上登錄,以獲取相關(guān)網(wǎng)站的相應(yīng)訪問權(quán)限。

82、Form身份驗(yàn)證的工作過程當(dāng)用戶要登錄時(shí),需在“登錄網(wǎng)頁(yè)”上填寫一個(gè)表單(一般填寫用戶名和密碼兩項(xiàng))并將表單提交到服務(wù)器。服務(wù)器在接受該請(qǐng)求并驗(yàn)證成功之后,將向用戶的本地計(jì)算機(jī)寫入一個(gè)記載身份驗(yàn)證信息的Cookie。在后續(xù)的瀏覽網(wǎng)頁(yè)中,瀏覽器每次向服務(wù)器發(fā)送請(qǐng)求時(shí)都會(huì)攜帶該Cookie,這樣用戶就可以保持住身份驗(yàn)證狀態(tài)。如圖8-1所示。92、Form身份驗(yàn)證的工作過程Bob希望查看網(wǎng)頁(yè)S1,但匿名用戶不可以訪問這個(gè)頁(yè)面,因此當(dāng)Bob試圖訪問網(wǎng)頁(yè)S1時(shí),服務(wù)器向?yàn)g覽器返回一要求登錄的頁(yè)面W1。

10Web服務(wù)器瀏覽器向Web服務(wù)器發(fā)出讀網(wǎng)頁(yè)S1的請(qǐng)求Internet瀏覽器Web服務(wù)器對(duì)未授權(quán)的用戶發(fā)送登錄網(wǎng)頁(yè)W1工作網(wǎng)頁(yè)S1登錄網(wǎng)頁(yè)W12、Form身份驗(yàn)證的工作過程

11Web服務(wù)器瀏覽器向Web服務(wù)器發(fā)出用戶名和密碼Internet瀏覽器Web服務(wù)器驗(yàn)證后,對(duì)和,向用戶發(fā)送網(wǎng)頁(yè)S1工作網(wǎng)頁(yè)S1工作網(wǎng)頁(yè)S2登錄網(wǎng)頁(yè)W12、Form身份驗(yàn)證的工作過程Bob現(xiàn)在可以正常瀏覽網(wǎng)頁(yè)了?,F(xiàn)在Bob通過S1網(wǎng)頁(yè)上的一個(gè)鏈接查看S2網(wǎng)頁(yè)。在發(fā)送該請(qǐng)求時(shí),Bob的瀏覽器同時(shí)將Cookie的一個(gè)副本發(fā)送到服務(wù)器,讓服務(wù)器知道是Bob想要查看這個(gè)S2網(wǎng)頁(yè)。服務(wù)器通過Cookie知道了Bob的身份,所以按照請(qǐng)求將S2網(wǎng)頁(yè)發(fā)送給Bob。如圖8-3所示。122、Form身份驗(yàn)證的工作過程

13Web服務(wù)器瀏覽器從S1鏈接S2,同時(shí)發(fā)出CookieInternet瀏覽器Web服務(wù)器驗(yàn)證Cooike后,向用戶發(fā)送網(wǎng)頁(yè)S2工作網(wǎng)頁(yè)S1工作網(wǎng)頁(yè)S2登錄網(wǎng)頁(yè)W12、Form身份驗(yàn)證的工作過程如果Bob現(xiàn)在請(qǐng)求站點(diǎn)的首頁(yè)D,瀏覽器仍會(huì)將Cookie和對(duì)首頁(yè)D的請(qǐng)求一起發(fā)送到服務(wù)器,因此即使網(wǎng)頁(yè)不是受限的,Cookie仍會(huì)被傳遞回服務(wù)器。由于首頁(yè)D沒有受到限制,服務(wù)器不會(huì)考慮Cookie,直接忽略它并將首頁(yè)D發(fā)送給Bob。Bob接著返回B網(wǎng)頁(yè)。因?yàn)锽ob本機(jī)上的Cookie仍然是有效的,所以該Cookie仍會(huì)被送回服務(wù)器。服務(wù)器也仍然允許Bob瀏覽這個(gè)B網(wǎng)頁(yè)。148-1網(wǎng)站安全登錄技術(shù)Bob離開計(jì)算機(jī)臨時(shí)接了個(gè)電話。當(dāng)他重新回到計(jì)算機(jī)前時(shí),已經(jīng)超過了20分鐘,Bob現(xiàn)在希望再次瀏覽B網(wǎng)頁(yè),但是他本機(jī)上的Cookie已經(jīng)過期了。服務(wù)器在接收B網(wǎng)頁(yè)請(qǐng)求時(shí)沒有得到Cookie,認(rèn)不出Bob了,所以拒絕這個(gè)請(qǐng)求,而將登錄網(wǎng)頁(yè)W1發(fā)回瀏覽器,Bob必須重新登錄。Cookie默認(rèn)有效時(shí)間是20分鐘,網(wǎng)管員與可修改這個(gè)服務(wù)器上的標(biāo)準(zhǔn)配置。153、用戶的授權(quán)限管理與角色管理授權(quán)是指通過身份驗(yàn)證的用戶是否應(yīng)授予對(duì)特定資源的訪問權(quán)限。在ASP.NET中,有兩種方式來(lái)授予對(duì)給定資源的訪問權(quán)限:文件授權(quán)和URL授權(quán)。(1)文件授權(quán)用于確定用戶是否應(yīng)該具有對(duì)文件的訪問權(quán)限。163、用戶的授權(quán)限管理與角色管理(2)URL授權(quán)是指允許或拒絕某個(gè)用戶或角色(用戶組)對(duì)特定目錄的訪問權(quán)限。在ASP.NET中,配置文件web.config的<authorization>配置節(jié)用于設(shè)置授權(quán)。<authorization》配置節(jié)的allow元素指定允許訪問Web應(yīng)用程序的用戶和角色的信息。deny元素指定禁止訪問Web應(yīng)用程序的用戶和角色的信息。173、用戶的授權(quán)限管理與角色管理〈system.web>〈authorization〉<fallowusers=“Tin”/><allowroles=“Admins”/><denyusers=“?”/>〈/authorization〉</system.web>

其中,users表示用戶,roles表示角色?!埃俊北硎灸涿脩?,“*”表示所有用戶。例子中對(duì)Tin用戶和Admins角色的成員授予訪問權(quán)限,對(duì)所有匿名用戶授予拒絕訪問權(quán)限。什么是角色?表示某一類用戶。角色不是單一用戶,所以,對(duì)角色授權(quán)就是對(duì)一類用戶授權(quán)。184、.net提供程序的配置

ASP.NET提供了Login、LoginName、LoginStatus、CreateUserWizard、ChangePassword和PasswordRecovery控件,用于實(shí)現(xiàn)網(wǎng)站中的用戶管理。其實(shí)真正進(jìn)行用戶管理的是ASP.NET提供的成員資格系統(tǒng)。登錄控件只不過是封裝成員資格的用戶界面。ASP.NET成員資格可以將用戶信息保存在指定的數(shù)據(jù)源中,默認(rèn)是SQLServerExpression。193、用戶的授權(quán)限管理與角色管理因此,第一步準(zhǔn)備工作是檢查保存用戶信息的數(shù)據(jù)源是否準(zhǔn)備妥當(dāng),方法如下。

在VisualStudio.NET集成開發(fā)環(huán)境中,單擊“網(wǎng)站”菜單中的“ASP.NET配置”菜單項(xiàng)。彈出“ASP.NETWeb應(yīng)用程序管理”窗口,如圖8-4、8-5、8-6所示。②單擊“提供程序”,切換到“提供程序”向?qū)ы?yè)面。③單擊“為所有站點(diǎn)管理數(shù)據(jù)選擇同一提供程序”,切換到下一頁(yè)面。④單擊“測(cè)試”。⑤如果出現(xiàn)“已成功建立到數(shù)據(jù)庫(kù)的連接?!?,則說(shuō)明已經(jīng)建立到SQLServerExpression的連接,可以使用其中的數(shù)據(jù)庫(kù)表保存用戶信息。單擊“確定”按鈕,結(jié)束。203、用戶的授權(quán)限管理與角色管理

213、用戶的授權(quán)限管理與角色管理

223、用戶的授權(quán)限管理與角色管理

235、Web用戶的分類網(wǎng)站的用戶分為兩大種:匿名用戶,即非登錄用戶,只能查看網(wǎng)站中的公共網(wǎng)頁(yè)。登錄用戶,不但可以查看公共網(wǎng)頁(yè),還可以訪問受限的網(wǎng)頁(yè)。實(shí)際工作中,更多的情況是,登錄用戶的類別多于一個(gè)。解決的方法就是定義若干用戶組,各組擁有不同權(quán)限,然后再將用戶賬戶添加到恰當(dāng)?shù)慕M中,則此用戶就擁有了該組定義的權(quán)限。245、Web用戶注冊(cè)表案例一個(gè)簡(jiǎn)單的網(wǎng)站用戶分類表如表8-1所示。255、Web用戶注冊(cè)表案例

26用戶名密碼角色說(shuō)明張強(qiáng)134567!網(wǎng)管員可查看所有網(wǎng)頁(yè)李紅234_671用戶只能查指定網(wǎng)頁(yè)朱軍334_671網(wǎng)管員可查看所有網(wǎng)頁(yè)向李434_671用戶只能查指定網(wǎng)頁(yè)李向前534_671用戶只能查指定網(wǎng)頁(yè)5、Web用戶注冊(cè)表案例

用戶的驗(yàn)證實(shí)質(zhì)上是一個(gè)查詢過程。當(dāng)用戶進(jìn)入登錄頁(yè)面時(shí),先要求用戶輸入自己的姓名和密碼,再到用戶注冊(cè)表中去查詢。如果在表中找到了可以匹配的記錄時(shí),說(shuō)明該用戶可以登錄,然后取出用戶對(duì)應(yīng)的角色字段,根據(jù)分配給角色的權(quán)限讓用戶轉(zhuǎn)入相應(yīng)的網(wǎng)頁(yè)。276、網(wǎng)站安全管理的自動(dòng)化ASP.NET2.0中,對(duì)于基于角色的網(wǎng)站安全管理自動(dòng)化程度很高。系統(tǒng)默認(rèn)自動(dòng)產(chǎn)生比表8-1更加完善、規(guī)范的SQLServer2005數(shù)據(jù)庫(kù),保存在網(wǎng)站“App_Data”專用目錄下??梢越柚嚓P(guān)工具及修改相關(guān)配置,將基于角色的網(wǎng)站安全管理建立在SQLServer2005、Access或其他數(shù)據(jù)庫(kù)上;可以利用VisualStudio2008中的“ASP.NET網(wǎng)站管理工具”對(duì)用戶和角色進(jìn)行圖形界面管理。提供了“登錄”相關(guān)的7個(gè)控件,可以方便構(gòu)建用戶認(rèn)證系統(tǒng),例如“登錄”、“注冊(cè)”、“恢復(fù)密碼”等。288.2網(wǎng)站安全登錄案例

一、案例說(shuō)明

1、目的2、分類用戶表3、頁(yè)面組成結(jié)構(gòu)二、建立Web網(wǎng)站1、建立一個(gè)工程文件夾2、啟動(dòng)VS,選擇新建網(wǎng)站,添加一個(gè)名為Default.aspx的頁(yè)面3、切換到“設(shè)計(jì)”視圖4、選擇div控件,生成一個(gè)層5、從工具箱的標(biāo)準(zhǔn)選項(xiàng)卡中選擇linkbutton控件6、添加一個(gè)名為login.aspx的頁(yè)面并在頁(yè)面上加入login控件7、在“解決方案資源管理器”窗中,選添加文件夾和文件ad.aspx.8、雙擊“user1入口”,輸入相關(guān)命令三、配置數(shù)據(jù)庫(kù)1、配置驗(yàn)證類型2、用戶管理3、配置用戶的角色4、配置用戶的訪問規(guī)則5、Web.config文件內(nèi)容分析298.2網(wǎng)站安全登錄案例

一、案例說(shuō)明1、目的

此案例建立一個(gè)Web網(wǎng)站,支持基本角色的授權(quán)訪問策略。應(yīng)用.net提供的安全登錄管理程序,自動(dòng)生成管理系統(tǒng),開發(fā)者基本不用編寫代碼。30基本配置說(shuō)明2、表8-2分類用戶表角色與用戶的關(guān)系是什么?31用戶名密碼角色說(shuō)明張剛134_567User1只可查看網(wǎng)頁(yè)ad.aspx劉進(jìn)234_567User1只可查看網(wǎng)頁(yè)ad.aspx朱軍334_567User2只可查看網(wǎng)頁(yè)us.aspx8.2網(wǎng)站安全登錄案例3、頁(yè)面組成結(jié)構(gòu)32基本配置說(shuō)明4、頁(yè)面文件結(jié)構(gòu)表33每一個(gè)文件夾內(nèi),都生成了一相應(yīng)的配置文件,保護(hù)文件不被非法用戶訪問大

<authorization><allow

roles="user1"/><deny

users="*"/></authorization><authorization><allow

roles="user2"/><deny

users="*"/></authorization>系統(tǒng)生成的sql數(shù)據(jù)庫(kù),用于用戶的管理,

<system.web><roleManager

enabled="true"/><authentication

mode="Forms"/><compilation

debug="true"

targetFramework="4.0"/></system.web>8.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(1)建立一個(gè)工程文件夾code8-F-1。(2)啟動(dòng)VS,選擇新建網(wǎng)站。選擇建立空網(wǎng)站。添加一個(gè)名為Default.aspx的頁(yè)面。如圖8-8所示。348.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(3)單擊“設(shè)計(jì)”按鈕切換到“設(shè)計(jì)”視圖。(4)從工具箱的HTML選項(xiàng)卡中選擇div控件,并把它拖曳到Web頁(yè)面上,生成一個(gè)層。如圖8-9所示。358.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(5)選中層,在“格式”菜單中選擇“位置”菜單項(xiàng),彈出“定位”對(duì)話框,在“定位樣式”中選中“絕對(duì)”,使該層的位置變?yōu)榻^對(duì)定位。拖該層到指定位置。如圖8-10所示。368.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(6)從工具箱的標(biāo)準(zhǔn)選項(xiàng)卡中選擇linkbutton控件,并把它拖到層中。

在“格式”菜單中選擇“位置”菜單項(xiàng),彈出“定位”對(duì)話框,在“定位樣式”中選中“相對(duì)”,拖動(dòng)該控件到指定位置。如圖8-12所示。378.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(7)選中l(wèi)inkbutton控件,擊右鍵,選擇屬性菜單,將其Text履性改為“登錄”。如8-13所示。388.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(8)與上述操作相同,分別在設(shè)計(jì)欄再拖入兩個(gè)linkbutton控件,并將其改名為user1入口和user2入口,如圖8-14所示。398.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(9)添加一個(gè)名為login.aspx的頁(yè)面。在頁(yè)面上加入login控件,如圖8-15所示。408.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(10)在“解決方案資源管理器”窗中中,選中“H:\code8-F-1”,添加文件夾admin并在其中添加網(wǎng)頁(yè)文件ad.aspx.選中“H:\code8-F-1”,添加文件夾use并在其中添加網(wǎng)頁(yè)文件us.aspx,如圖8-16所示。418.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(11)回到首頁(yè),雙擊“user1入口”,輸入一條指令。雙擊“user2入口”,輸入一條指令。雙擊“登錄”,輸入一條指令。如圖8-17所示。428.2網(wǎng)站安全登錄案例三、配置數(shù)據(jù)庫(kù)1、配置驗(yàn)證類型

如下圖4個(gè)步驟,就可完成驗(yàn)證類型的配置,如圖8-21所示。配置完成后,查看主系統(tǒng)的Web.config文件,內(nèi)容如下所示。43三、配置數(shù)據(jù)庫(kù)44三、配置數(shù)據(jù)庫(kù)1、配置驗(yàn)證類型45三、配置數(shù)據(jù)庫(kù)1、配置驗(yàn)證類型配置完成后,查看主系統(tǒng)的Web.config文件,內(nèi)容如下所示。<?xmlversion="1.0"?><configuration>

<system.web>

<authenticationmode="Forms"/>

<compilationdebug="true"targetFramework="4.0"/>

</system.web></configuration>

在默認(rèn)情況下,ASP.NET用戶信息存儲(chǔ)在ASPNETDB.MDF文件中,該文件默認(rèn)為存儲(chǔ)在網(wǎng)站的A

溫馨提示

  • 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ù)覽,若沒有圖紙預(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)論