版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、第一講 Web應(yīng)用開(kāi)發(fā)語(yǔ)言及環(huán)境概述CS和BS型模式隨著Internet和WWW的流行,以往的主機(jī)終端和CS都無(wú)法滿足當(dāng)前的全球網(wǎng)絡(luò)開(kāi)放、互連、信息隨處可見(jiàn)和信息共享的新要求,于是就出現(xiàn)了BS型模式,即瀏覽器服務(wù)器結(jié)構(gòu)。B/S模式最大特點(diǎn)是:用戶可以通過(guò)WWW瀏覽器去訪問(wèn)Internet上的文本、數(shù)據(jù)、圖像、動(dòng)畫(huà)、視頻點(diǎn)播和聲音信息,這些信息都是由許許多多的Web服務(wù)器產(chǎn)生的,而每一個(gè)Web服務(wù)器又可以通過(guò)各種方式與數(shù)據(jù)庫(kù)服務(wù)器連接,大量的數(shù)據(jù)實(shí)際存放在數(shù)據(jù)庫(kù)服務(wù)器中??蛻舳顺薟WW創(chuàng)覽器,一般無(wú)須任何用戶程序,只需從Web服務(wù)器上下載程序到本地來(lái)執(zhí)行,在下載過(guò)程中若遇到與數(shù)據(jù)庫(kù)有關(guān)的指令,
2、由Web服務(wù)器交給數(shù)據(jù)庫(kù)服務(wù)器來(lái)解釋執(zhí)行,并返回給Web服務(wù)器,Web服務(wù)器又返回給用戶。在這種結(jié)構(gòu)中,將許許多多的網(wǎng)連接到一塊,形成一個(gè)巨大的網(wǎng),即全球網(wǎng)。而各個(gè)企業(yè)可以在此結(jié)構(gòu)的基礎(chǔ)上建立自己的Intranet。B/S(Browser/Server,瀏覽器/服務(wù)器)模式又稱(chēng)B/S結(jié)構(gòu)。它是隨著Internet技術(shù)的興起,對(duì)C/S模式應(yīng)用的擴(kuò)展。在這種結(jié)構(gòu)下,用戶工作界面是通過(guò)IE瀏覽器來(lái)實(shí)現(xiàn)的。B/S模式最大的好處是運(yùn)行維護(hù)比較簡(jiǎn)便,能實(shí)現(xiàn)不同的人員,從不同的地點(diǎn),以不同的接入方式(比如LAN, WAN, Internet/Intranet等)訪問(wèn)和操作共同的數(shù)據(jù);最大的缺點(diǎn)是對(duì)企業(yè)外網(wǎng)環(huán)
3、境依賴(lài)性太強(qiáng),由于各種原因引起企業(yè)外網(wǎng)中斷都會(huì)造成系統(tǒng)癱瘓。web應(yīng)用程序的組成web應(yīng)用程序由三部分組成:傳統(tǒng)HTML客戶端程序(腳本)(Javascript)服務(wù)器端程序(asp、jsp、)第二講 visual studio 2005 編程環(huán)境介紹vs界面的組成展示一個(gè)家教網(wǎng)站的構(gòu)成代碼分離模式介紹 runat=server如何新建一個(gè)網(wǎng)站 虛擬的iis,網(wǎng)站的專(zhuān)用目錄事件編程的概念第四講 數(shù)據(jù)驗(yàn)證服務(wù)器控件RequiredFieldValidator 重要屬性:ErrorMessage;ControlToValidate;Text; InitialValue(必須更改內(nèi)容)
4、CompareValidator重要屬性:ControlToValidate; ControlToCompare;RangeValidator重要屬性:type ; MaximumValue; minimumValue實(shí)驗(yàn)三 為網(wǎng)站設(shè)計(jì)master實(shí)驗(yàn)?zāi)康模赫莆漳赴屙?yè)和內(nèi)容頁(yè)的概念;實(shí)驗(yàn)步驟:在例程網(wǎng)站上按照原master頁(yè)面(如圖所示)建立自己的master頁(yè)面,要求建立另一種樣式的布局,如左邊欄可以放置于右邊欄,建立兩個(gè)內(nèi)容容器區(qū)域。 建立三個(gè).Aspx網(wǎng)頁(yè),lanmu_1.aspx、lanmu_2.aspx、lanmu_3.aspx,其中第一個(gè)繼承原有的master,第二個(gè)繼承新建立的m
5、aster,第三個(gè)為普通網(wǎng)頁(yè)沒(méi)有母板。打開(kāi)web.sitemap為欄目1、欄目2、欄目3建立url分別對(duì)應(yīng)于這三個(gè)文件啟動(dòng)網(wǎng)站看運(yùn)行效果 第六講主題和皮膚展示例程網(wǎng)站并賦予不同的主題。同時(shí)介紹什么是主題。為單個(gè)網(wǎng)頁(yè)賦予主題為整個(gè)網(wǎng)站賦予主題主題的組成:主題專(zhuān)用文件夾、css、 skin、 圖片文件夾css和skin的介紹如何自己創(chuàng)建css和skin實(shí)驗(yàn)四 主題和skin實(shí)驗(yàn)?zāi)康模荷羁汤斫鈉ss和skin文件并能建立簡(jiǎn)單的例子;能熟練使用css和skin文件美化和規(guī)范化網(wǎng)頁(yè)實(shí)驗(yàn)步驟:打開(kāi)試驗(yàn)三所創(chuàng)建的網(wǎng)站,并為網(wǎng)站添加專(zhuān)用目錄App_Themes,把老師所給的主題MSN_Morning拷貝到該目
6、錄下;清楚master頁(yè)面中各單元格的背景色以及圖片如下圖所示:為相應(yīng)的單元格添加css類(lèi)目,如:class=”title”。打開(kāi)default.aspx文件,為page對(duì)象添加屬性Theme =MSN_Morning;在文件中添加控件calender,并為其添加屬性SkinID=CalendarView網(wǎng)頁(yè)將會(huì)呈現(xiàn)如下形狀:在default.aspx文件中添加另一個(gè)calender控件;為兩個(gè)calender控件設(shè)置不同的SkinID,從而達(dá)到不同的現(xiàn)實(shí)效果。第七講 數(shù)據(jù)綁定展示例子網(wǎng)站從數(shù)據(jù)庫(kù)顯示數(shù)據(jù)介紹Sqldatasource數(shù)據(jù)源控件:參數(shù):重點(diǎn)介紹control和querystri
7、ng參數(shù)類(lèi)型(get方法)和form(post方法);介紹dataview控件:?jiǎn)⒂梅猪?yè)、啟用排序、PageSize屬性控制一頁(yè)顯示的記錄數(shù)量、用PagerSettings元素定制頁(yè)面定制dataview中的列(例子:hyperlinkfield)編輯dataview中的行:1、為Sqldatasource數(shù)據(jù)源控件添加updatecommand屬性以及parameter參數(shù) 2、為dataview控件添加AutoGenerateEditButton=true屬性或者添加commandfield列第八講 ADO.NET數(shù)據(jù)庫(kù)操作(一)ADO.NET主要的兩類(lèi)數(shù)據(jù)提供程序:SQL Server
8、.NET Framework數(shù)據(jù)提供程序,針對(duì)SQL Server數(shù)據(jù)庫(kù)OLEDB.NET Framework數(shù)據(jù)提供程序,針對(duì)Access數(shù)據(jù)庫(kù)下表概括了組成 .NET Framework 數(shù)據(jù)提供程序的四個(gè)核心對(duì)象。對(duì)象說(shuō)明Connection建立與特定數(shù)據(jù)源的連接。所有 Connection 對(duì)象的基類(lèi)均為DbConnection類(lèi)。Command對(duì)數(shù)據(jù)源執(zhí)行命令。公開(kāi) Parameters,并且可以通過(guò) Connection 在 Transaction 的范圍內(nèi)執(zhí)行。所有 Command 對(duì)象的基類(lèi)均為DbCommand類(lèi)。DataReader從數(shù)據(jù)源中讀取只進(jìn)且只讀的數(shù)據(jù)流。所有 D
9、ataReader 對(duì)象的基類(lèi)均為DbDataReader類(lèi)。DataAdapter用數(shù)據(jù)源填充 DataSet 并解析更新。所有 DataAdapter 對(duì)象的基類(lèi)均為DbDataAdapter類(lèi)。ADO.NET數(shù)據(jù)訪問(wèn)流程Connection對(duì)象的常用屬性為:connectionstring、state。常用的方法為:open()、close()。看例子,default.aspxCommand對(duì)象的屬性和方法:(參見(jiàn)msdn、)更新數(shù)據(jù)庫(kù)用ExecuteNonQuery方法執(zhí)行updata、insert、delete命令查詢數(shù)據(jù)用comm.ExecuteReader();利用DataRea
10、der對(duì)象有連接的逐條讀取并顯示。參見(jiàn)例子:datareader.aspx和insert.aspx第九講 ADO.NET數(shù)據(jù)庫(kù)操作(二)DataSet,顧名思義:數(shù)據(jù)集。是數(shù)據(jù)的內(nèi)存駐留表示形式,它提供了獨(dú)立于數(shù)據(jù)源(數(shù)據(jù)庫(kù))的一致關(guān)系編程模型。一個(gè)DataSet表示整個(gè)數(shù)據(jù)集,其中包含多個(gè)數(shù)據(jù)表(DataTable)。由于DataSet獨(dú)立于數(shù)據(jù)源(數(shù)據(jù)庫(kù)),它可以包含應(yīng)用程序本地的數(shù)據(jù),也可以包含來(lái)自于多個(gè)數(shù)據(jù)源的數(shù)據(jù)。與現(xiàn)有數(shù)據(jù)源的交互通過(guò)DataAdapter來(lái)控制。DataTable,顧名思義:數(shù)據(jù)表。是也是數(shù)據(jù)的內(nèi)存駐留形式,與DataSet的區(qū)別是,DataSet包含多個(gè)數(shù)據(jù)表,
11、而DataTable只包含一個(gè)表。他們的關(guān)系如下所示。DataAdapter對(duì)象:DataAdapter對(duì)象是DataSet以及DataTable與物理數(shù)據(jù)庫(kù)之間的橋梁,通過(guò)DataAdapter對(duì)象在物理數(shù)據(jù)庫(kù)與內(nèi)存數(shù)據(jù)之間傳輸。DataSet 對(duì)象模型常用方式:Dataset ds=new dataset(); /建立dataset類(lèi)型的對(duì)象dsDatatable dt=new dadatable();Dataadapter da=new dataadapter(comm); /建立dataadapter對(duì)象Da.fill(ds,”表名”); /填充數(shù)據(jù)集Da.file(dt);實(shí)驗(yàn)六 A
12、DO.NET數(shù)據(jù)庫(kù)操作實(shí)驗(yàn)?zāi)康模赫莆諏?duì)象的用法(相應(yīng)代碼附后參考)實(shí)驗(yàn)程序完成功能:1、用ADO.NET相關(guān)對(duì)象從數(shù)據(jù)庫(kù)取得數(shù)據(jù)并顯示在Gridview中; 2、能對(duì)所選擇的記錄進(jìn)行編輯; 3、添加新的記錄。實(shí)驗(yàn)步驟:1、 附加數(shù)據(jù)庫(kù);2、 建立頁(yè)面default。Aspx,在頁(yè)面上放置相關(guān)空間,如圖所示:3、 為Gridview控件添加AutoGenerateSelectButton=true屬性,似的能夠選擇記錄。4、 為Gridview控件添加GridView1_SelectedIndexChanging事件。在該事件中加入如下代碼:5、 添加自定義函數(shù)以獲得數(shù)據(jù)綁定:6、
13、 頁(yè)面的page_load事件:7、 為按鈕添加代碼:第十講 用戶與角色管理(一)幾乎所有的系統(tǒng)中都會(huì)使用到訪問(wèn)控制和角色管理這樣的功能,例如:新建、修改、刪除用戶和角色,為用戶分配角色,管理角色中的用戶等等。于是MS在ASP.NET 2.0開(kāi)始,實(shí)現(xiàn)了這些功能,使得我們?cè)陂_(kāi)發(fā)中,不需要考慮這方面的內(nèi)容,把更多的精力投入到業(yè)務(wù)邏輯的開(kāi)發(fā)中去。從而大大的提高了開(kāi)發(fā)的效率。一、幾個(gè)概念:1、 用戶(成員user):通過(guò)網(wǎng)站注冊(cè)的具有用戶名和密碼等信息的個(gè)人或組織。2、 角色(role):我們可以規(guī)定某些用戶可以訪問(wèn)特定的頁(yè)面,另一些用戶可以訪問(wèn)另外一些頁(yè)面。但是隨著用戶數(shù)量的增多,為每個(gè)用戶都做一
14、次規(guī)定,必然增加難度??梢园涯承┯脩粢?guī)定為一個(gè)組,比如我們可以把所有的學(xué)生都?xì)w為學(xué)生組,所有的教師都?xì)w為教師組。這些組我們就成為角色。3、 驗(yàn)證(authentication):訪問(wèn)網(wǎng)站的用戶可以通過(guò)專(zhuān)門(mén)的驗(yàn)證看是否為網(wǎng)站數(shù)據(jù)庫(kù)中已經(jīng)注冊(cè)的成員,如果是,則通過(guò)驗(yàn)證,否則為匿名用戶。4、 授權(quán)(authorization):我們可以為每個(gè)用戶或者角色規(guī)定可以訪問(wèn)的資源,這個(gè)過(guò)程我們成為授權(quán)。比如我們可以規(guī)定學(xué)生可以訪問(wèn)某些頁(yè)面,而教師則只能訪問(wèn)另外的頁(yè)面。二、中用戶與角色管理的配置1.添加數(shù)據(jù)庫(kù)支持要使用membership首先需要數(shù)據(jù)庫(kù)的支持,所以我們第一步就是創(chuàng)建用來(lái)存放用戶、
15、角色等信息的表結(jié)構(gòu)。別擔(dān)心,MS早就把創(chuàng)建表的語(yǔ)句寫(xiě)好了,并且還提供了用戶界面,讓我們點(diǎn)點(diǎn)鼠標(biāo)就可以創(chuàng)建好所需的結(jié)構(gòu)了。具體操作如下:進(jìn)入C:WINDOWSMicrosoft.NETFrameworkv2.0.xxxxx(vs2010的目錄是v4.0.xxxx)這個(gè)目錄下,找到aspnet_regsql.exe直接雙擊運(yùn)行,就會(huì)彈出一個(gè)界面,直接下一步。第二個(gè)界面讓我們選擇是添加表結(jié)構(gòu)還是移除,我們當(dāng)然選擇添加,繼續(xù)下一步。在這個(gè)界面中需要填寫(xiě)服務(wù)器ip地址以及身份驗(yàn)證信息。在填寫(xiě)完畢后,就可以選擇你要將表結(jié)構(gòu)添加到哪個(gè)數(shù)據(jù)庫(kù)中了。需要注意的是:如果選擇默認(rèn),則會(huì)創(chuàng)建一個(gè)新的名叫aspnetd
16、b的數(shù)據(jù)庫(kù),然后將表結(jié)構(gòu)加入其中。一路下一步就完成了數(shù)據(jù)庫(kù)結(jié)構(gòu)的添加。2.web.config配置好了,表結(jié)構(gòu)添加完畢,接下來(lái)就是需要在項(xiàng)目中進(jìn)行一些簡(jiǎn)單的配置了。我們?cè)趘s中新建一個(gè)網(wǎng)站,隨后再用記事本打開(kāi)C:WINDOWSMicrosoft.NETFrameworkv2.0.xxxxxCONFIGmachine.config這個(gè)文件,找到system.web節(jié)點(diǎn)下的membership節(jié)點(diǎn),將整個(gè)節(jié)點(diǎn)復(fù)制到我們新建網(wǎng)站的web.config中的system.web節(jié)點(diǎn)中。復(fù)制過(guò)來(lái)的代碼如下:下面是主要的幾個(gè)屬性的含義:name:數(shù)據(jù)提供程序的名稱(chēng),由于我們是從machine.config復(fù)
17、制過(guò)來(lái)的,所以必須改名,防止重名type:數(shù)據(jù)提供程序類(lèi)型,如果使用的是MSSQL數(shù)據(jù)庫(kù),則保持不變即可,如果使用的是Oracle等其他數(shù)據(jù)庫(kù),則必須自己創(chuàng)建一個(gè)類(lèi)來(lái)繼承MembershipProvider抽象基類(lèi),重寫(xiě)里邊的所有抽象方法,然后把類(lèi)型寫(xiě)在這里即可。connectionStringName:該屬性必須指定在節(jié)點(diǎn)中,一個(gè)連接字符串的名字。applicationName:應(yīng)用程序名稱(chēng),membership允許多個(gè)應(yīng)用程序共同使用一個(gè)數(shù)據(jù)庫(kù)來(lái)管理自己的用戶、角色信息,各應(yīng)用程序只需配置不同的applicationName即可,當(dāng)然,如果想要多個(gè)應(yīng)用程序使用同一份用戶角色信息,只需設(shè)置一
18、樣的applicationName即可。requiresUniqueEmail:顧名思義,用戶注冊(cè)時(shí),是否需要提供未注冊(cè)過(guò)的郵箱。passwordFormat:密碼存儲(chǔ)格式,密碼保存在數(shù)據(jù)庫(kù)中的格式,最常用的有Clear(不加密)和Hashed(使用SHA1算法加密)minRequiredPasswordLength:最小密碼長(zhǎng)度。minRequiredNonalphanumericCharacters:指定有效密碼中必須包含的特殊字符的最小數(shù)量,就是說(shuō)不是字母也不是數(shù)字的字符的數(shù)量,比如+-*/,.什么的,增加密碼強(qiáng)度好了,我們將配置修改一下并添加連接字符串:上面用黃色高亮字體標(biāo)注出來(lái)的屬性
19、,是為了告訴membership采用我們剛才添加的mySqlMembershipProvider這個(gè)配置,因?yàn)閙achine.config中有一個(gè)AspNetSqlMembershipProvider,我們又在web.config中又添加了一個(gè)mySqlMembershipProvider,現(xiàn)在有了兩個(gè)配置,所以應(yīng)該使用defaultProvider屬性指明本網(wǎng)站使用哪個(gè)配置。隨后又指定了連接字符串配置的名稱(chēng),一個(gè)Email不允許重復(fù)注冊(cè),最小密碼長(zhǎng)度為6,不限制密碼中必須含有標(biāo)點(diǎn)符號(hào)等配置。3.ASP.NET身份驗(yàn)證配置membership算是配置到這里了,但是還沒(méi)有結(jié)束,我們還需要把ASP
20、.NET的身份驗(yàn)證機(jī)制配置為Forms身份驗(yàn)證。補(bǔ)充內(nèi)容:ASP.NET一共有三種身份驗(yàn)證方式,分別為: Forms驗(yàn)證 Windows驗(yàn)證 Passport驗(yàn)證Windows驗(yàn)證是一種把能夠訪問(wèn)到IIS的用戶認(rèn)為是已經(jīng)通過(guò)身份驗(yàn)證的用戶。可以通過(guò)windows自帶的身份驗(yàn)證策略來(lái)控制哪些頁(yè)面用戶可以訪問(wèn),哪些不能訪問(wèn)。這是一種最簡(jiǎn)單的方式,基本不用寫(xiě)多少代碼,全部通過(guò)配置就可以實(shí)現(xiàn)訪問(wèn)的控制。Passport驗(yàn)證是由微軟提供身份驗(yàn)證服務(wù)。當(dāng)然這是收費(fèi)的。Forms驗(yàn)證就是在用戶登錄時(shí),向?yàn)g覽器中添加一個(gè)cookie,然后在用戶每次訪問(wèn)時(shí)都檢測(cè)這個(gè)cookie,從而達(dá)到身份驗(yàn)證的目的。配置Fo
21、rms身份驗(yàn)證其實(shí)就是把下面代碼復(fù)制到web.config中去就可以了: 下面是說(shuō)明(msdn抄的): loginUrl 指向應(yīng)用程序的自定義登錄頁(yè)。應(yīng)該將登錄頁(yè)放在需要安全套接字層 (SSL) 的文件夾中。這有助于確保憑據(jù)從瀏覽器傳到 Web 服務(wù)器時(shí)的完整性。 protection 設(shè)置為 All,以指定窗體身份驗(yàn)證票的保密性和完整性。這導(dǎo)致使用 machineKey 元素上指定的算法對(duì)身份驗(yàn)證票證進(jìn)行加密,并且使用同樣是 machineKey 元素上指定的哈希算法進(jìn)行簽名。 timeout 用于指定窗體身份驗(yàn)證會(huì)話的有限生存期。默認(rèn)值為 30 分鐘。如果頒發(fā)持久的窗體身份驗(yàn)證 Cooki
22、e,timeout 屬性還用于設(shè)置持久 Cookie 的生存期。 name 和 path 設(shè)置為應(yīng)用程序的配置文件中定義的值。 requireSSL 設(shè)置為 false。該配置意味著身份驗(yàn)證 Cookie 可通過(guò)未經(jīng) SSL 加密的信道進(jìn)行傳輸。如果擔(dān)心會(huì)話竊取,應(yīng)考慮將 requireSSL 設(shè)置為 true。 slidingExpiration 設(shè)置為 true 以執(zhí)行變化的會(huì)話生存期。這意味著只要用戶在站點(diǎn)上處于活動(dòng)狀態(tài),會(huì)話超時(shí)就會(huì)定期重置。 defaultUrl 設(shè)置為應(yīng)用程序的 Default.aspx 頁(yè)。 cookieless 設(shè)置為 UseDeviceProfile,以指定應(yīng)
23、用程序?qū)λ兄С?Cookie 的瀏覽器都使用 Cookie。如果不支持 Cookie 的瀏覽器訪問(wèn)該站點(diǎn),窗體身份驗(yàn)證在 URL 上打包身份驗(yàn)證票。 enableCrossAppRedirects 設(shè)置為 false,以指明窗體身份驗(yàn)證不支持自動(dòng)處理在應(yīng)用程序之間傳遞的查詢字符串上的票證以及作為某個(gè)窗體 POST 的一部分傳遞的票證。 需要說(shuō)明一下的是LoginUrl和DefaultUrl屬性:LoginUrl指向登錄頁(yè)面,當(dāng)ASP.NET判斷出該用戶請(qǐng)求的資源不允許匿名訪問(wèn),而該用戶未登錄時(shí),ASP.NET會(huì)自動(dòng)跳轉(zhuǎn)到LoginUrl所指向的頁(yè)面,當(dāng)?shù)卿洺晒?,則跳轉(zhuǎn)回原來(lái)請(qǐng)求的頁(yè)面。De
24、faultUrl指向默認(rèn)頁(yè)面。當(dāng)我們直接訪問(wèn)登錄頁(yè)面,并登錄成功后,這時(shí)ASP.NET會(huì)跳轉(zhuǎn)到DefaultUrl指向的頁(yè)面。其他的選項(xiàng)不寫(xiě)都可以,因?yàn)橛心J(rèn)值。三、登陸控件1、CreateUserWizard自動(dòng)創(chuàng)建用戶2、Login登陸控件3、LoginStatus登錄狀態(tài)4、LoginName用戶名顯示5、LoginView分別顯示匿名和已登錄用戶的不同信息第十一講 用戶與角色管理(二)上篇講到如何配置membership以及ASP.NET Forms身份驗(yàn)證,本篇將對(duì)權(quán)限控制部分,做一個(gè)詳細(xì)的解釋。在所有的基本配置都完畢后,我們還需要配置哪些目錄允許被匿名訪問(wèn),哪些是需要用戶登錄后允許
25、訪問(wèn)的頁(yè)面。首先:我們?cè)陧?xiàng)目中建立一個(gè)admin文件夾,在admin文件夾中添加一個(gè)web.config文件,然后在其中的節(jié)點(diǎn)下面添加如下代碼:然后我們?cè)赼dmin目錄下再添加一個(gè)頁(yè)面,然后訪問(wèn)該頁(yè)面,看一下效果。如果您按照我們上篇所說(shuō)的內(nèi)容全部正確配置了,那么你會(huì)發(fā)現(xiàn),頁(yè)面并沒(méi)有顯示出來(lái),而是跳轉(zhuǎn)到了我們之前在下節(jié)點(diǎn)的LoginUrl屬性所指向的頁(yè)面,要求登錄!這不就是我們需要的效果嗎?現(xiàn)在來(lái)解釋一下上面配置的含義:節(jié)點(diǎn):顧名思義就是允許訪問(wèn)的意思,就是允許用戶名為admin的用戶訪問(wèn)。 節(jié)點(diǎn):就是禁止訪問(wèn)。這里用到了一個(gè)通配符“*”,通配符有兩個(gè):*代表所有用戶,還有一個(gè)“?”代表所有匿名
26、用戶。所以就是不允許所有用戶訪問(wèn)的意思啦,當(dāng)然如果是:那意思就是不允許所有匿名用戶訪問(wèn)。 需要說(shuō)明的是:所有的配置都是按照從上到下的順序來(lái)匹配的,一但匹配成功,就不再向下匹配。舉個(gè)例子: ASP.NET首先檢測(cè)當(dāng)前登錄的用戶名=admin?如果等于則不繼續(xù)判斷,直接允許該用戶訪問(wèn)。如果不等于則繼續(xù)判斷當(dāng)前登錄的用戶名=zhangsan等于,則允許訪問(wèn),不等于則接著向下,讀取到了這個(gè)配置,拒絕所有用戶訪問(wèn),跳轉(zhuǎn)到LoginUrl指定的頁(yè)面要求重新登錄??墒侨绻@樣,只能實(shí)現(xiàn)目錄一級(jí)的權(quán)限控制,如果要控制某個(gè)文件的訪問(wèn)權(quán)限,又該如何做呢?難道非得把這個(gè)文件放到一個(gè)文件夾中,然后再添加web.con
27、fig進(jìn)行控制么?答案是否定的,對(duì)于單個(gè)文件的訪問(wèn)控制,ASP.NET也有相應(yīng)的配置:看上面這個(gè)配置,我們可以在節(jié)點(diǎn)之上(必須是上面)再增加一個(gè)節(jié)點(diǎn),通過(guò)path屬性指明location內(nèi)的配置是單獨(dú)針對(duì)哪個(gè)文件即可。具體內(nèi)容我就不多說(shuō)了,想必大家也都看得懂。不過(guò)需要注意的一點(diǎn)就是:location節(jié)點(diǎn)可以有多個(gè)。這意味著同一個(gè)目錄下的不同文件可以有不同的訪問(wèn)權(quán)限。好了,配置到這里算是完成一多半了。還有一個(gè)問(wèn)題就是:如果我們的用戶比較多,那么需要在配置文件中把這些用戶全部羅列其中。并且以后添加了新用戶,還得繼續(xù)修改配置,太麻煩了!該怎么辦呢?通用的做法就是引入角色的概念。給所有的用戶分配一個(gè)角
28、色,比如:users,admin等。然后我們只需要控制這些角色的訪問(wèn)權(quán)限即可。以后添加了新用戶只需給這個(gè)新用戶分配角色,而不用去修改配置,實(shí)在是方便。其實(shí),membership也提供了角色的概念,只需要簡(jiǎn)單的配置一下就可以實(shí)現(xiàn)了。要實(shí)現(xiàn)角色功能,非常簡(jiǎn)單,我們還是去machine.config的節(jié)點(diǎn)下面找到節(jié)點(diǎn),然后整個(gè)節(jié)點(diǎn)復(fù)制過(guò)來(lái)到web.config中去,一般會(huì)有兩個(gè)子結(jié)點(diǎn),我們刪除一個(gè),留下一個(gè)就可以了。全部?jī)?nèi)容如下:這個(gè)配置比較簡(jiǎn)單,各項(xiàng)配置和前面配置都一樣,不再多說(shuō)。稍微修改一下:注意:這個(gè)roleManager多了個(gè)屬性enable=true,這是因?yàn)榻巧芾砟J(rèn)情況下是關(guān)閉的,所
29、以我們必須得設(shè)置為開(kāi)啟才行。定義完了角色以后就可以為角色添加權(quán)限了: 實(shí)驗(yàn)七 實(shí)現(xiàn)單一的用戶和角色功能的網(wǎng)站實(shí)驗(yàn)?zāi)康模豪斫獠⑹煜?。Net2.0用戶和角色管理的整套流程實(shí)驗(yàn)步驟:1、 建立網(wǎng)站website1(文件夾)2、 添加數(shù)據(jù)庫(kù)支持。在C:WINDOWSMicrosoft.NETFrameworkv2.0.xxxxx(vs2010的目錄是v4.0.xxxx)這個(gè)目錄下,找到aspnet_regsql.exe直接雙擊運(yùn)行,添加用戶和角色管理所必須的數(shù)據(jù)庫(kù)表(數(shù)據(jù)庫(kù)可以使用默認(rèn)的名字放置于app_data文件夾中)。3、 為站點(diǎn)添加并完成web.config的配置,包括四項(xiàng)。a) 創(chuàng)建連接字符
30、串(connectionStrings)b) 成員提供程序的配置(Membership)c) 身份驗(yàn)證配置(authentication)d) 角色配置(roleManager)4、 在網(wǎng)站根目錄下建立網(wǎng)頁(yè)文件default.aspx、register.aspx和login.aspx;建立文件夾兩個(gè)student和teacher;在student文件夾中建立文件student.aspx,在teacher文件夾中建立teacher.aspx文件。5、 打開(kāi)default.aspx 在文件中添加指向student.aspx和teacher.aspx的連接;register.aspx中添加CreateUserWizard控件;login.aspx文件中添加login控件。6、 為student和teacher文件夾分別建立一個(gè)web.config,并對(duì)其進(jìn)行角色權(quán)限的配置。7、 打開(kāi)網(wǎng)站管理器,配置角色并為每個(gè)用戶分配權(quán)限。8、 運(yùn)行網(wǎng)站,查驗(yàn)效果。第十二講 三層
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年舟山市志愿服務(wù)聯(lián)合會(huì)公開(kāi)招聘工作人員的備考題庫(kù)完整答案詳解
- 公共交通乘客信息管理制度
- 伙房管理制度
- 2026年隆昌市住房征收和保障服務(wù)中心臨聘人員招聘?jìng)淇碱}庫(kù)帶答案詳解
- 中國(guó)科學(xué)院亞熱帶農(nóng)業(yè)生態(tài)研究所2026年特別研究助理(博士后)招聘?jìng)淇碱}庫(kù)及完整答案詳解1套
- 天津中醫(yī)藥大學(xué)第一附屬醫(yī)院招聘20人備考題庫(kù)及1套完整答案詳解
- 中共福鼎市委黨校關(guān)于2026年公開(kāi)招聘緊缺急需人才有關(guān)事項(xiàng)的備考題庫(kù)及完整答案詳解一套
- 2026年耒陽(yáng)市選聘一村一輔警18人備考題庫(kù)參考答案詳解
- 2026年綿陽(yáng)市涪城區(qū)吳家中心衛(wèi)生院招聘?jìng)淇碱}庫(kù)及完整答案詳解1套
- 養(yǎng)老院入住老人健康監(jiān)測(cè)制度
- 2026年廣西出版?zhèn)髅郊瘓F(tuán)有限公司招聘(98人)考試備考題庫(kù)附答案
- 設(shè)備技術(shù)員轉(zhuǎn)正述職報(bào)告
- 2026年數(shù)據(jù)管理局考試題庫(kù)及實(shí)戰(zhàn)解答
- 2025年上海師范大學(xué)馬克思主義基本原理概論期末考試筆試真題匯編
- 智啟萬(wàn)物:全球AI應(yīng)用平臺(tái)市場(chǎng)全景圖與趨勢(shì)洞察報(bào)告
- 2025年高職植物保護(hù)(植物檢疫技術(shù))試題及答案
- 2026年中國(guó)科學(xué)院心理研究所國(guó)民心理健康評(píng)估發(fā)展中心招聘?jìng)淇碱}庫(kù)及答案詳解(新)
- 藥物相互作用與不良反應(yīng)預(yù)防解析講座
- 江蘇省2024年普通高中學(xué)業(yè)水平合格性考試數(shù)學(xué)試卷+答案
- 文物建筑勘查設(shè)計(jì)取費(fèi)標(biāo)準(zhǔn)(2020年版)
- MSOP(測(cè)量標(biāo)準(zhǔn)作業(yè)規(guī)范)測(cè)量SOP
評(píng)論
0/150
提交評(píng)論