版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
本章教學要點本章要點:8-1網(wǎng)站安全登錄技術(shù)8-2網(wǎng)站登錄管理技術(shù)8-3登錄控件及使用8-4頁面安全訪問技術(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)絡信息安全的重要內(nèi)容。8-1網(wǎng)站安全登錄技術(shù)1、Membership(成員管理).NET2.0中,Membership提供了一整套內(nèi)置的用于用戶管理、身份驗證、用戶信任以及數(shù)據(jù)庫架構(gòu)設計的解決方案。因此,在.NET2.0中,可以輕易地使用來Membership(成員管理)構(gòu)建項目的用戶管理模塊。在開發(fā)的同時,不但可以結(jié)合ASP.NET2.0提供的相關(guān)控件來實現(xiàn)用戶管理,也可以在自定義的控件中調(diào)用Membership提供的方法來進行Web驗證。48-1網(wǎng)站安全登錄技術(shù)2、Roles(角色管理)Roles(角色管理)與Membership相結(jié)合,構(gòu)成了ASP.NET2.0框架下用戶安全登錄的基礎。如果要讓一個網(wǎng)站的部分內(nèi)容只提供給擁有特定授權(quán)級別的用戶瀏覽,或者只讓網(wǎng)站管理員才能進入后臺的特定管理模塊和拒絕其他沒有授權(quán)或授權(quán)級別不夠的用戶訪問,采用Roles(角色管理)與Membership相結(jié)合的處理辦法,將得到絕佳的效果。58.1.2成員管理的實現(xiàn)1、身份驗證身份驗證的4種方式:Windows(默認):基于Windows的身份驗證,適合于在企業(yè)內(nèi)部Intranet站點中使用。None:不進行授權(quán)與身份驗證;Form(常用):基于Cookie的身份認證機制,可以自動將未經(jīng)身份驗證的用戶重定向到自定義的“登錄網(wǎng)頁”,只有登錄成功后,方可查看特定網(wǎng)頁內(nèi)容。Passport:通過Microsoft的集中身份驗證服務執(zhí)行。這種認證方式適合跨站應用,即用戶只需一個用戶名及密碼就可以訪問任何成員站點。68.1.2成員管理的實現(xiàn)
在ASP.NET中,通過配置web.config文件來設置不同的身份驗證方式。在web.config文件中,有一個<authentiCation>配置節(jié),用于設置身份驗證方式。其格式為:〈system.web><authenticationmode=“Windows|Forms|Passport|None”/></system.web>78.1.2成員管理的實現(xiàn)
其中,通過mode屬性,配置系統(tǒng)的身份驗證方式。例如下列程序,配置的身份驗證方式是Windows身份驗證方式:〈system.web><authenticationmode=“Windows”/></system.web>
也就是,在本機操作系統(tǒng)上成功登錄的某個用戶,也就自動有了網(wǎng)站的相對應用的訪問權(quán)限。例如下列程序,配置的身份驗證方式Forms身份驗證方式:〈system.web><authenticationmode=“Forms”/></system.web>
也就是,在本機操作系統(tǒng)上成功登錄的用戶,要訪問網(wǎng)站,還必須在網(wǎng)站上登錄,以獲取相關(guān)網(wǎng)站的相應訪問權(quán)限。
82、Form身份驗證的工作過程當用戶要登錄時,需在“登錄網(wǎng)頁”上填寫一個表單(一般填寫用戶名和密碼兩項)并將表單提交到服務器。服務器在接受該請求并驗證成功之后,將向用戶的本地計算機寫入一個記載身份驗證信息的Cookie。在后續(xù)的瀏覽網(wǎng)頁中,瀏覽器每次向服務器發(fā)送請求時都會攜帶該Cookie,這樣用戶就可以保持住身份驗證狀態(tài)。如圖8-1所示。92、Form身份驗證的工作過程Bob希望查看網(wǎng)頁S1,但匿名用戶不可以訪問這個頁面,因此當Bob試圖訪問網(wǎng)頁S1時,服務器向瀏覽器返回一要求登錄的頁面W1。
10Web服務器瀏覽器向Web服務器發(fā)出讀網(wǎng)頁S1的請求Internet瀏覽器Web服務器對未授權(quán)的用戶發(fā)送登錄網(wǎng)頁W1工作網(wǎng)頁S1登錄網(wǎng)頁W12、Form身份驗證的工作過程
11Web服務器瀏覽器向Web服務器發(fā)出用戶名和密碼Internet瀏覽器Web服務器驗證后,對和,向用戶發(fā)送網(wǎng)頁S1工作網(wǎng)頁S1工作網(wǎng)頁S2登錄網(wǎng)頁W12、Form身份驗證的工作過程Bob現(xiàn)在可以正常瀏覽網(wǎng)頁了?,F(xiàn)在Bob通過S1網(wǎng)頁上的一個鏈接查看S2網(wǎng)頁。在發(fā)送該請求時,Bob的瀏覽器同時將Cookie的一個副本發(fā)送到服務器,讓服務器知道是Bob想要查看這個S2網(wǎng)頁。服務器通過Cookie知道了Bob的身份,所以按照請求將S2網(wǎng)頁發(fā)送給Bob。如圖8-3所示。122、Form身份驗證的工作過程
13Web服務器瀏覽器從S1鏈接S2,同時發(fā)出CookieInternet瀏覽器Web服務器驗證Cooike后,向用戶發(fā)送網(wǎng)頁S2工作網(wǎng)頁S1工作網(wǎng)頁S2登錄網(wǎng)頁W12、Form身份驗證的工作過程如果Bob現(xiàn)在請求站點的首頁D,瀏覽器仍會將Cookie和對首頁D的請求一起發(fā)送到服務器,因此即使網(wǎng)頁不是受限的,Cookie仍會被傳遞回服務器。由于首頁D沒有受到限制,服務器不會考慮Cookie,直接忽略它并將首頁D發(fā)送給Bob。Bob接著返回B網(wǎng)頁。因為Bob本機上的Cookie仍然是有效的,所以該Cookie仍會被送回服務器。服務器也仍然允許Bob瀏覽這個B網(wǎng)頁。148-1網(wǎng)站安全登錄技術(shù)Bob離開計算機臨時接了個電話。當他重新回到計算機前時,已經(jīng)超過了20分鐘,Bob現(xiàn)在希望再次瀏覽B網(wǎng)頁,但是他本機上的Cookie已經(jīng)過期了。服務器在接收B網(wǎng)頁請求時沒有得到Cookie,認不出Bob了,所以拒絕這個請求,而將登錄網(wǎng)頁W1發(fā)回瀏覽器,Bob必須重新登錄。Cookie默認有效時間是20分鐘,網(wǎng)管員與可修改這個服務器上的標準配置。153、用戶的授權(quán)限管理與角色管理授權(quán)是指通過身份驗證的用戶是否應授予對特定資源的訪問權(quán)限。在ASP.NET中,有兩種方式來授予對給定資源的訪問權(quán)限:文件授權(quán)和URL授權(quán)。(1)文件授權(quán)用于確定用戶是否應該具有對文件的訪問權(quán)限。163、用戶的授權(quán)限管理與角色管理(2)URL授權(quán)是指允許或拒絕某個用戶或角色(用戶組)對特定目錄的訪問權(quán)限。在ASP.NET中,配置文件web.config的<authorization>配置節(jié)用于設置授權(quán)。<authorization》配置節(jié)的allow元素指定允許訪問Web應用程序的用戶和角色的信息。deny元素指定禁止訪問Web應用程序的用戶和角色的信息。173、用戶的授權(quán)限管理與角色管理〈system.web>〈authorization〉<fallowusers=“Tin”/><allowroles=“Admins”/><denyusers=“?”/>〈/authorization〉</system.web>
其中,users表示用戶,roles表示角色?!??”表示匿名用戶,“*”表示所有用戶。例子中對Tin用戶和Admins角色的成員授予訪問權(quán)限,對所有匿名用戶授予拒絕訪問權(quán)限。什么是角色?表示某一類用戶。角色不是單一用戶,所以,對角色授權(quán)就是對一類用戶授權(quán)。184、.net提供程序的配置
ASP.NET提供了Login、LoginName、LoginStatus、CreateUserWizard、ChangePassword和PasswordRecovery控件,用于實現(xiàn)網(wǎng)站中的用戶管理。其實真正進行用戶管理的是ASP.NET提供的成員資格系統(tǒng)。登錄控件只不過是封裝成員資格的用戶界面。ASP.NET成員資格可以將用戶信息保存在指定的數(shù)據(jù)源中,默認是SQLServerExpression。193、用戶的授權(quán)限管理與角色管理因此,第一步準備工作是檢查保存用戶信息的數(shù)據(jù)源是否準備妥當,方法如下。
在VisualStudio.NET集成開發(fā)環(huán)境中,單擊“網(wǎng)站”菜單中的“ASP.NET配置”菜單項。彈出“ASP.NETWeb應用程序管理”窗口,如圖8-4、8-5、8-6所示。②單擊“提供程序”,切換到“提供程序”向?qū)ы撁妗"蹎螕簟盀樗姓军c管理數(shù)據(jù)選擇同一提供程序”,切換到下一頁面。④單擊“測試”。⑤如果出現(xiàn)“已成功建立到數(shù)據(jù)庫的連接。”,則說明已經(jīng)建立到SQLServerExpression的連接,可以使用其中的數(shù)據(jù)庫表保存用戶信息。單擊“確定”按鈕,結(jié)束。203、用戶的授權(quán)限管理與角色管理
213、用戶的授權(quán)限管理與角色管理
223、用戶的授權(quán)限管理與角色管理
235、Web用戶的分類網(wǎng)站的用戶分為兩大種:匿名用戶,即非登錄用戶,只能查看網(wǎng)站中的公共網(wǎng)頁。登錄用戶,不但可以查看公共網(wǎng)頁,還可以訪問受限的網(wǎng)頁。實際工作中,更多的情況是,登錄用戶的類別多于一個。解決的方法就是定義若干用戶組,各組擁有不同權(quán)限,然后再將用戶賬戶添加到恰當?shù)慕M中,則此用戶就擁有了該組定義的權(quán)限。245、Web用戶注冊表案例一個簡單的網(wǎng)站用戶分類表如表8-1所示。255、Web用戶注冊表案例
26用戶名密碼角色說明張強134567!網(wǎng)管員可查看所有網(wǎng)頁李紅234_671用戶只能查指定網(wǎng)頁朱軍334_671網(wǎng)管員可查看所有網(wǎng)頁向李434_671用戶只能查指定網(wǎng)頁李向前534_671用戶只能查指定網(wǎng)頁5、Web用戶注冊表案例
用戶的驗證實質(zhì)上是一個查詢過程。當用戶進入登錄頁面時,先要求用戶輸入自己的姓名和密碼,再到用戶注冊表中去查詢。如果在表中找到了可以匹配的記錄時,說明該用戶可以登錄,然后取出用戶對應的角色字段,根據(jù)分配給角色的權(quán)限讓用戶轉(zhuǎn)入相應的網(wǎng)頁。276、網(wǎng)站安全管理的自動化ASP.NET2.0中,對于基于角色的網(wǎng)站安全管理自動化程度很高。系統(tǒng)默認自動產(chǎn)生比表8-1更加完善、規(guī)范的SQLServer2005數(shù)據(jù)庫,保存在網(wǎng)站“App_Data”專用目錄下??梢越柚嚓P(guān)工具及修改相關(guān)配置,將基于角色的網(wǎng)站安全管理建立在SQLServer2005、Access或其他數(shù)據(jù)庫上;可以利用VisualStudio2008中的“ASP.NET網(wǎng)站管理工具”對用戶和角色進行圖形界面管理。提供了“登錄”相關(guān)的7個控件,可以方便構(gòu)建用戶認證系統(tǒng),例如“登錄”、“注冊”、“恢復密碼”等。288.2網(wǎng)站安全登錄案例
一、案例說明
1、目的2、分類用戶表3、頁面組成結(jié)構(gòu)二、建立Web網(wǎng)站1、建立一個工程文件夾2、啟動VS,選擇新建網(wǎng)站,添加一個名為Default.aspx的頁面3、切換到“設計”視圖4、選擇div控件,生成一個層5、從工具箱的標準選項卡中選擇linkbutton控件6、添加一個名為login.aspx的頁面并在頁面上加入login控件7、在“解決方案資源管理器”窗中,選添加文件夾和文件ad.aspx.8、雙擊“user1入口”,輸入相關(guān)命令三、配置數(shù)據(jù)庫1、配置驗證類型2、用戶管理3、配置用戶的角色4、配置用戶的訪問規(guī)則5、Web.config文件內(nèi)容分析298.2網(wǎng)站安全登錄案例
一、案例說明1、目的
此案例建立一個Web網(wǎng)站,支持基本角色的授權(quán)訪問策略。應用.net提供的安全登錄管理程序,自動生成管理系統(tǒng),開發(fā)者基本不用編寫代碼。30基本配置說明2、表8-2分類用戶表角色與用戶的關(guān)系是什么?31用戶名密碼角色說明張剛134_567User1只可查看網(wǎng)頁ad.aspx劉進234_567User1只可查看網(wǎng)頁ad.aspx朱軍334_567User2只可查看網(wǎng)頁us.aspx8.2網(wǎng)站安全登錄案例3、頁面組成結(jié)構(gòu)32基本配置說明4、頁面文件結(jié)構(gòu)表33每一個文件夾內(nèi),都生成了一相應的配置文件,保護文件不被非法用戶訪問大
<authorization><allow
roles="user1"/><deny
users="*"/></authorization><authorization><allow
roles="user2"/><deny
users="*"/></authorization>系統(tǒng)生成的sql數(shù)據(jù)庫,用于用戶的管理,
<system.web><roleManager
enabled="true"/><authentication
mode="Forms"/><compilation
debug="true"
targetFramework="4.0"/></system.web>8.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(1)建立一個工程文件夾code8-F-1。(2)啟動VS,選擇新建網(wǎng)站。選擇建立空網(wǎng)站。添加一個名為Default.aspx的頁面。如圖8-8所示。348.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(3)單擊“設計”按鈕切換到“設計”視圖。(4)從工具箱的HTML選項卡中選擇div控件,并把它拖曳到Web頁面上,生成一個層。如圖8-9所示。358.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(5)選中層,在“格式”菜單中選擇“位置”菜單項,彈出“定位”對話框,在“定位樣式”中選中“絕對”,使該層的位置變?yōu)榻^對定位。拖該層到指定位置。如圖8-10所示。368.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(6)從工具箱的標準選項卡中選擇linkbutton控件,并把它拖到層中。
在“格式”菜單中選擇“位置”菜單項,彈出“定位”對話框,在“定位樣式”中選中“相對”,拖動該控件到指定位置。如圖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)與上述操作相同,分別在設計欄再拖入兩個linkbutton控件,并將其改名為user1入口和user2入口,如圖8-14所示。398.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(9)添加一個名為login.aspx的頁面。在頁面上加入login控件,如圖8-15所示。408.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(10)在“解決方案資源管理器”窗中中,選中“H:\code8-F-1”,添加文件夾admin并在其中添加網(wǎng)頁文件ad.aspx.選中“H:\code8-F-1”,添加文件夾use并在其中添加網(wǎng)頁文件us.aspx,如圖8-16所示。418.2網(wǎng)站安全登錄案例二、建立Web網(wǎng)站(11)回到首頁,雙擊“user1入口”,輸入一條指令。雙擊“user2入口”,輸入一條指令。雙擊“登錄”,輸入一條指令。如圖8-17所示。428.2網(wǎng)站安全登錄案例三、配置數(shù)據(jù)庫1、配置驗證類型
如下圖4個步驟,就可完成驗證類型的配置,如圖8-21所示。配置完成后,查看主系統(tǒng)的Web.config文件,內(nèi)容如下所示。43三、配置數(shù)據(jù)庫44三、配置數(shù)據(jù)庫1、配置驗證類型45三、配置數(shù)據(jù)庫1、配置驗證類型配置完成后,查看主系統(tǒng)的Web.config文件,內(nèi)容如下所示。<?xmlversion="1.0"?><configuration>
<system.web>
<authenticationmode="Forms"/>
<compilationdebug="true"targetFramework="4.0"/>
</system.web></configuration>
在默認情況下,ASP.NET用戶信息存儲在ASPNETDB.MDF文件中,該文件默認為存儲在網(wǎng)站的A
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 抽樣調(diào)查課程設計
- 無主燈教學課程設計
- 花草移植課程設計
- 2024年藝術(shù)的語錄
- 水源熱泵課程設計
- 醫(yī)務科護士處理醫(yī)務事務
- 食品行業(yè)客服工作者感悟
- 2025年高考物理一輪復習之萬有引力與宇宙航行
- 協(xié)助解決客戶的技術(shù)問題
- 燃氣供應行業(yè)工程師工作總結(jié)
- 小學生心理問題的表現(xiàn)及應對措施【全國一等獎】
- 生產(chǎn)車間薪酬管理制度
- 小學生科普人工智能
- 2022年北京外國語大學博士生英語入學考試試題
- 提高做好群眾工作的能力主講陶通艾
- 3500A 手持式綜合測試儀操作指導培訓
- GB/T 1335.2-2008服裝號型女子
- GB 31247-2014電纜及光纜燃燒性能分級
- DCC20網(wǎng)絡型監(jiān)視與報警
- 《簡單教數(shù)學》讀書心得課件
- 井底車場及硐室課件
評論
0/150
提交評論