




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、第8章 綜合實(shí)例 本章介紹兩個(gè)實(shí)例:一個(gè)是新聞發(fā)布模塊設(shè)計(jì),另一個(gè)是注冊(cè)與登錄驗(yàn)證設(shè)計(jì)。 通過對(duì)新聞發(fā)布模塊設(shè)計(jì)的學(xué)習(xí),讀者將可以制作一個(gè)功能較為完善的新聞發(fā)布和管理模塊,了解實(shí)現(xiàn)新聞系統(tǒng)中的用戶管理、權(quán)限機(jī)制、新聞顯示、新聞發(fā)布、新聞管理、提供新聞服務(wù)等常見功能的ASP.NET設(shè)計(jì)方法。 通過對(duì)注冊(cè)與登錄驗(yàn)證設(shè)計(jì)的學(xué)習(xí),讀者將可以獨(dú)立設(shè)計(jì)用戶注冊(cè)和登錄驗(yàn)證功能模塊,了解用戶注冊(cè)、用戶登錄、注銷登錄等常見功能在ASP.NET中的設(shè)計(jì)技術(shù)。8.1 新聞發(fā)布模塊設(shè)計(jì)新聞系統(tǒng)是比較常見的一種網(wǎng)絡(luò)站點(diǎn)應(yīng)用,用于獲取新聞,添加、審核、修改或刪除新聞等。此外,新聞系統(tǒng)還可以通過提供新聞服務(wù)的方式,把系統(tǒng)中
2、的新聞提供給用戶或其他站點(diǎn)。 功能概述 數(shù)據(jù)庫表結(jié)構(gòu) 數(shù)據(jù)庫中的存儲(chǔ)過程 新聞瀏覽設(shè)計(jì) 新聞發(fā)布管理設(shè)計(jì) 實(shí)例總結(jié) 功能概述 對(duì)于一個(gè)新聞系統(tǒng)而言,其功能要足夠靈活和完整,并易于使用。我們把系統(tǒng)主要分為三個(gè)功能模塊:新聞瀏覽顯示模塊、新聞發(fā)布管理模塊和系統(tǒng)管理模塊。每個(gè)模塊的功能分述如下: 1.新聞瀏覽和顯示模塊新聞瀏覽和顯示模塊主要包括以下功能:1)顯示頭條新聞2)顯示最新更新新聞3)分類顯示新聞4)查看新聞?lì)惸?)瀏覽詳細(xì)新聞信息6)搜索新聞7)添加新聞評(píng)論2.新聞發(fā)布和管理模塊新聞發(fā)布和管理包括幾個(gè)部分:添加新聞、新聞審核、管理新聞、管理新聞評(píng)論、管理新聞分類等。添加新聞部分的功能設(shè)計(jì)如
3、下:1)根據(jù)權(quán)限設(shè)置分類2)HTML內(nèi)容編輯3)上傳圖片或媒體文件4)預(yù)覽新聞5)提交新聞新聞審核部分的功能設(shè)計(jì)如下:1)搜索待批新聞2)顯示待批新聞內(nèi)容3)審核通過,并發(fā)布新聞管理新聞部分的功能設(shè)計(jì)如下:1)搜索新聞2)顯示新聞3)修改新聞4)刪除新聞新聞評(píng)論管理部分的功能設(shè)計(jì)如下:1)搜索評(píng)論2)顯示評(píng)論內(nèi)容3)編輯評(píng)論內(nèi)容4)刪除評(píng)論管理新聞分類部分的功能設(shè)計(jì)如下:1)顯示分類2)添加分類3)修改分類4)刪除分類3.系統(tǒng)管理模塊系統(tǒng)管理模塊包含了用戶登錄驗(yàn)證、用戶管理、用戶權(quán)限管理和設(shè)置、系統(tǒng)信息和權(quán)限信息顯示、新聞發(fā)布情況統(tǒng)計(jì)等功能,此外,對(duì)于系統(tǒng)發(fā)布的新聞或發(fā)布新聞的用戶,系統(tǒng)提供跟
4、蹤功能,記錄提交者信息、審核者信息、評(píng)論條數(shù)等,以方便統(tǒng)計(jì)和跟蹤新聞的反響。新聞系統(tǒng)的成功通常依賴于新聞管理功能的方便性和用戶瀏覽新聞的方便性。在功能設(shè)計(jì)中,允許瀏覽新聞的用戶登錄系統(tǒng)并提交新聞,只需要經(jīng)過審核的步驟即可發(fā)布,這樣可以保證豐富的新聞來源。其次,對(duì)于新聞和用戶的跟蹤,可以保證每一條新聞和新聞提供者得到有效的追蹤和管理。此外,對(duì)于新聞我們提供了類目管理,并且可以為新聞?lì)惸吭O(shè)置具有相應(yīng)管理權(quán)限的管理員,使新聞管理功能實(shí)現(xiàn)分布而非集中,有效減少管理員的工作量和不必要的失誤。數(shù)據(jù)庫表結(jié)構(gòu) 新聞發(fā)布和管理模塊設(shè)計(jì)的數(shù)據(jù)包括:新聞分類、新聞、用戶、新聞評(píng)論。新聞發(fā)布和管理系統(tǒng)的數(shù)據(jù)表以及它們
5、之間的鏈接關(guān)系,如圖所示。1)新聞分類表2)新聞條目表 3)新聞評(píng)論表4)用戶管理表數(shù)據(jù)庫中的存儲(chǔ)過程 為了郵箱管理數(shù)據(jù)庫,創(chuàng)建一組存儲(chǔ)過程是非常必要的,否則我們需要在數(shù)據(jù)操作時(shí)使用各種SQL語句。在設(shè)計(jì)存儲(chǔ)過程時(shí),精心考慮數(shù)據(jù)操作的效率是一個(gè)重要的內(nèi)容。這里數(shù)據(jù)庫設(shè)計(jì)中所包含的部分存儲(chǔ)過程及其參數(shù)、說明等,見下表:新聞瀏覽設(shè)計(jì)1)首頁設(shè)計(jì) 該新聞發(fā)布和管理模塊的首頁主要由三個(gè)用戶控件組成,首頁的設(shè)計(jì)如圖所示。2)新聞列表頁面設(shè)計(jì)在首頁導(dǎo)航欄點(diǎn)擊一個(gè)新聞?lì)惸?,就可以進(jìn)入該類目的新聞列表頁面。和前面使用用戶控件的設(shè)計(jì)思路相似,新聞列表仍然由一個(gè)用戶控件完成。其設(shè)計(jì)如圖所示。3)新聞瀏覽頁面設(shè)計(jì)在
6、新聞列表頁面列出的新聞列表中,僅給出了新聞標(biāo)題、發(fā)布時(shí)間、訪問次數(shù)等概要信息,點(diǎn)擊相應(yīng)的新聞條目的鏈接就可以瀏覽新聞內(nèi)容了。顯示新聞內(nèi)容的頁面show.aspx的設(shè)計(jì)效果如圖所示。4)查看評(píng)論內(nèi)容由于一條新聞的相關(guān)評(píng)論有許多條,因此這里使用一個(gè)數(shù)據(jù)綁定控件,例如DataList。這以設(shè)計(jì)效果如圖所示。5)添加新聞評(píng)論在顯示新聞內(nèi)容的頁面可以直接包括顯示新聞評(píng)論的部分。常見的做法是直接在新聞內(nèi)容顯示頁面中包含添加新聞評(píng)論的內(nèi)容。這一設(shè)計(jì)效果如圖所示。6)新聞搜索頁面在頁面導(dǎo)航欄單擊“搜索”,可以打開搜索頁面,其設(shè)計(jì)如圖所示。新聞發(fā)布管理設(shè)計(jì) 新聞發(fā)布管理部分主要包括了新聞提交、新聞修改等發(fā)布相關(guān)
7、的功能以及新聞?lì)悇e管理和新聞條目管理、新聞審核等管理相關(guān)的功能。和新聞瀏覽部分有所不同,新聞發(fā)布和管理部分的功能都要求用戶登錄后按照權(quán)限使用,因此都可以視為新聞系統(tǒng)的管理功能。 1)添加新聞如果用戶已經(jīng)登錄系統(tǒng)并且具有添加新聞的權(quán)限,就可以進(jìn)行新聞提交了。新聞提交頁面的設(shè)計(jì)如圖所示。 2)設(shè)置為頭版新聞在前面介紹的首頁設(shè)計(jì)中,包括了頭版新聞的列表顯示,用于顯示推薦的新聞。頭版新聞的列表顯示并不麻煩,一個(gè)新聞條目是否可以作為推薦新聞進(jìn)入頭版,取決于在提交或修改新聞時(shí)是否設(shè)置了設(shè)為“頭版”新聞的屬性??梢詤⒖紙D8-8.事實(shí)上,設(shè)為頭版新聞的新聞條目對(duì)應(yīng)于其數(shù)據(jù)庫記錄中headline字段的值為1。
8、設(shè)為頭版新聞的處理過程包括在用戶添加新聞的addArticle的處理代碼中,這里不再贅述。3)新聞修改設(shè)計(jì)應(yīng)該說新聞修改的實(shí)現(xiàn)和添加有著太多的相似:一樣的編輯界面,相似的提交處理邏輯。兩者主要的不同在于,新聞修改時(shí)需要首先讀取新聞的內(nèi)容和原有的設(shè)置信息等,并顯示在編輯新聞的頁面中,并且在提交時(shí)需要執(zhí)行新聞信息的更新操作而非新增新聞。4)目錄管理設(shè)計(jì)這里介紹的新聞系統(tǒng)中,新聞?lì)惸康墓芾肀容^簡單,只支持單層目錄結(jié)構(gòu)。對(duì)于新聞目錄的管理主要支持如下操作:分頁顯示所有新聞?lì)惸?、添加新的分類、修改已有分類名稱、刪除某一分類。這些操作在新聞目錄管理頁面已經(jīng)全部包括了,如圖所示。5)新聞管理頁面設(shè)計(jì)在新聞管
9、理中,不僅可以給用戶提供包括前面在新聞瀏覽中介紹的新聞條目列表和新聞搜索的功能,還允許用戶進(jìn)行修改新聞內(nèi)容、查看和修改評(píng)論、刪除新聞等操作。新聞管理頁面設(shè)計(jì)如圖所示。6)新聞刪除設(shè)計(jì)刪除文章分為幾個(gè)步驟:首先,將該文章在分類中的文章數(shù)目減1,接下來進(jìn)行刪除文章的操作,此外,還需要將提交新聞的新聞管理員所發(fā)表的新聞數(shù)目減1。刪除新聞的操作在新聞管理頁面中實(shí)現(xiàn)。 7)新聞審核設(shè)計(jì)如果用戶僅有添加新聞的權(quán)限,則此新聞在提交后,還需要經(jīng)過具有新聞審核權(quán)限的用戶的審核才能進(jìn)入發(fā)布區(qū)。新聞是否審核通過取決于新聞數(shù)據(jù)的checkup屬性。新聞審核頁面的設(shè)計(jì)如圖所示。8)權(quán)限管理和用戶管理新聞發(fā)布和管理系統(tǒng)要
10、求用戶必須登錄才可以提交新聞,而且用戶具有相應(yīng)權(quán)限才可以進(jìn)行審核新聞、修改新聞、添加評(píng)論、修改評(píng)論等操作。在系統(tǒng)中,除系統(tǒng)管理員外,還設(shè)有新聞管理員。新聞管理員可以直接發(fā)布提交新聞,或者管理具有管理權(quán)限的新聞分類。這些都需要用戶和權(quán)限的支持。用戶管理頁面如圖所示。實(shí)例總結(jié)本節(jié)展示了一個(gè)信息管理系統(tǒng)從需求分析到設(shè)計(jì)實(shí)現(xiàn)的完整過程,在功能分析和劃分、數(shù)據(jù)庫設(shè)計(jì)、頁面設(shè)計(jì)各層面進(jìn)行了詳細(xì)討論,重點(diǎn)闡述了數(shù)據(jù)庫結(jié)構(gòu)和存儲(chǔ)過程方法,以及使用DataSet和DataReader進(jìn)行數(shù)據(jù)訪問的基本技術(shù)。作為一個(gè)典型而完整的信息管理系統(tǒng),新聞發(fā)布系統(tǒng)的分析方法和設(shè)計(jì)技術(shù)可以使用于其他類型的信息管理系統(tǒng)。8.2
11、 注冊(cè)與登陸驗(yàn)證設(shè)計(jì)注冊(cè)與登陸驗(yàn)證設(shè)計(jì)1)在SQL Server中建立用戶信息表 (1)確定用戶信息下表是一個(gè)網(wǎng)絡(luò)商店系統(tǒng)的用戶信息表的字段設(shè)計(jì)。(2)建立用戶表在SQL Server中,主要有兩種方式創(chuàng)建信息表:使用T-SQL語句和使用企業(yè)管理器管理工具。使用表設(shè)計(jì)器設(shè)計(jì)數(shù)據(jù)表如下圖另外一種有效的建立數(shù)據(jù)表的方式是使用T-SQL的create table語句,也就是通常所說的建立SQL腳本的方式。 示例如下 :create table bbs_user(name nvarchar(12) not null,password nvarchar(32) not null,sex bit not
12、null constraint DF_bbs_user_sex default (0),email nvarchar(50) not null,info nvarchar(255) not null,face nvarchar(100) null,signature nvarchar(255) null,topics int not null constraint DF_bbs_user_topics default (0),replys int not null constraint DF_bbs_user_replys default (0),constraint PK_user prim
13、ary key clustered (name)2)創(chuàng)建注冊(cè)提交頁面對(duì)于建立了完整用戶系統(tǒng)的應(yīng)用來說,用戶注冊(cè)是系統(tǒng)的第一步。通常,按照系統(tǒng)應(yīng)用的不同需要,可能要求用戶填寫提交各種信息,包括基本信息和附加信息。在用戶填寫注冊(cè)信息時(shí),需要對(duì)注冊(cè)信息的合法性進(jìn)行驗(yàn)證,并在用戶提交合法信息后,對(duì)用戶提交的注冊(cè)信息數(shù)據(jù)盡享進(jìn)一步處理,存入數(shù)據(jù)庫中。本節(jié)介紹如何創(chuàng)建注冊(cè)提交頁面,以及如何檢驗(yàn)提交信息的合法性。 (1)使用驗(yàn)證控件在ASP.NET之前,表單驗(yàn)證是一項(xiàng)繁瑣的任務(wù)。在ASP.NET中,提供了很多驗(yàn)證控件使得程序員不需要考慮是客戶端檢驗(yàn)還是服務(wù)器端檢驗(yàn)也不需要考慮怎么輸出檢驗(yàn)結(jié)果。接下來,舉例說
14、明對(duì)于用戶注冊(cè)提交而言如何使用驗(yàn)證控件。下圖是一個(gè)注冊(cè)提交頁面的實(shí)例。(2)驗(yàn)證控件的種類及其功能ASP.NET的驗(yàn)證控件可以進(jìn)行如下檢查:輸入字段是否為空(使用RequiredFieldValidator)輸入字段是否在指定范圍內(nèi)(使用RangeValidator)輸入字符串是否符合某正則表達(dá)式要求的格式(使用RegularExpressionValidator)輸入值和另一個(gè)值滿足什么關(guān)系(使用CompareValidator)這些驗(yàn)證控件都派生自一個(gè)共同的基類BaseValidator,因此,它們有一些共有屬性。如ControlToValidate,ErrorMessage,F(xiàn)oreCo
15、lor,Display,EnableClientScript。另外ASP.NET中還包含以下兩種驗(yàn)證控件,用于對(duì)基本控件進(jìn)行擴(kuò)展:(1)定制的驗(yàn)證檢查方式(使用CustomValidator)。(2)檢驗(yàn)其他驗(yàn)證控件的結(jié)果并集中顯示(使用ValidationSummary)。(3)使用圖形驗(yàn)證碼 在用戶注冊(cè)或登錄時(shí),為了進(jìn)一步保證安全性,越來越多的網(wǎng)站開始采用動(dòng)態(tài)生成的圖形碼或者附加碼進(jìn)行驗(yàn)證。這里簡單介紹使用圖形碼進(jìn)行驗(yàn)證的技術(shù)。所謂圖形碼,通常是動(dòng)態(tài)生成的一個(gè)驗(yàn)證碼,并以圖形的形式顯示出來,要求用戶在一定時(shí)間內(nèi)輸入與圖形中顯示內(nèi)容一致的信息,由于在設(shè)定的很短時(shí)間之后圖形碼會(huì)重新動(dòng)態(tài)生成,因
16、此要求用戶必須在限定時(shí)間內(nèi)進(jìn)行輸入驗(yàn)證。這樣可以從時(shí)效和顯示兩方便進(jìn)行安全性保證。3)處理注冊(cè)數(shù)據(jù) (1)檢測(cè)用戶名是否存在通常為了幫助用戶完成注冊(cè),可以提供一個(gè)對(duì)于用戶希望注冊(cè)的用戶名進(jìn)行檢查的功能,以幫助用戶注冊(cè)一個(gè)還沒有被注冊(cè)的用戶名。(2) 保存注冊(cè)信息到數(shù)據(jù)庫在用戶填寫完注冊(cè)信息后,首先應(yīng)該檢查用戶輸入信息的有效性,例如圖形碼是否正確、兩次輸入密碼是否一致等。如果用戶輸入有效,則應(yīng)該讀取用戶輸入的所有注冊(cè)信息,并產(chǎn)生數(shù)據(jù)庫記錄,將注冊(cè)信息存入其中。(3)發(fā)送注冊(cè)成功確認(rèn)郵件在有些用戶注冊(cè)系統(tǒng)中,為了進(jìn)一步保證用戶注冊(cè)的有效性,在一定程度上防止惡意注冊(cè)或虛假注冊(cè),往往在用戶提交注冊(cè)信息
17、以后,系統(tǒng)自動(dòng)發(fā)送一封確認(rèn)注冊(cè)的郵件,要求該郵箱主人確認(rèn)注冊(cè)。要實(shí)現(xiàn)這項(xiàng)功能,首相需要系統(tǒng)支持郵件發(fā)送,同時(shí)如果需要用戶受到郵件后確認(rèn)的話,也需要先標(biāo)記用戶為“注冊(cè)但未確認(rèn)”狀態(tài),并提供確認(rèn)功能,在用戶確認(rèn)之后,更改用戶為“注冊(cè)并確認(rèn)”狀態(tài)。 4)實(shí)現(xiàn)用戶登錄和注銷 (1)創(chuàng)建登錄頁面為了使用用戶登錄,需要設(shè)計(jì)用戶登錄頁面,要求用戶輸入用戶名稱和登錄密碼。在很多系統(tǒng)中,為了保證安全性,還會(huì)采用前面介紹過的圖形驗(yàn)證碼技術(shù)。此外,對(duì)于未注冊(cè)用戶,還應(yīng)該提供注冊(cè)功能,包含了以上要素的用戶登錄頁面如圖所示。(2)驗(yàn)證用戶登錄信息用戶填寫了用戶名、登錄密碼和驗(yàn)證碼后,單擊“登錄”按鈕,即可登錄。對(duì)于用戶輸入信息的有效性,前面已經(jīng)介紹過,是應(yīng)該提供一些檢查的。例如,用戶名、密碼和驗(yàn)證碼不能為空,以及用戶名不能包含非法字符等,這些通過驗(yàn)證控件都可以實(shí)現(xiàn)。對(duì)于有效的用戶輸入,就需要驗(yàn)證用戶身份的合法性,檢索數(shù)據(jù)庫記錄,確認(rèn)用戶輸入與注冊(cè)信息的一致性。 (3)從系統(tǒng)注銷退出通常在需要用戶注冊(cè)登陸才能使用系統(tǒng)功能的應(yīng)用中,為了保證安全性,也相應(yīng)提供注銷退出的功能。對(duì)于登錄用戶,系統(tǒng)一般會(huì)記錄下一些Session或者Cookie信息,并進(jìn)行在線信息登記等。要完成系統(tǒng)注銷退出功能,只需清除相應(yīng)的對(duì)象和統(tǒng)計(jì)信息就可以了。 (4)使
溫馨提示
- 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. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)生三方就業(yè)合同解析
- 保密合作研發(fā)合同
- 房產(chǎn)贈(zèng)與合同模板:父母與子女
- 員工合同終止協(xié)商一致書
- 委托代理合同專兼職律師版
- 地鐵站內(nèi)廣告牌租賃合同
- 度水果貿(mào)易合同書
- 保密協(xié)議合同英文樣本
- Module 6 Unit 2 Happy Mid-Autumn Festival(教學(xué)設(shè)計(jì))-2024-2025學(xué)年外研版(三起)英語四年級(jí)上冊(cè)
- 9《清明》教學(xué)設(shè)計(jì)-2023-2024學(xué)年三年級(jí)下冊(cè)語文統(tǒng)編版
- 山水情懷 課件-2024-2025學(xué)年高中美術(shù)人教版 (2019) 選擇性必修2 中國書畫
- GA 2139-2024警用防暴臂盾
- 辦公軟件題庫(173道)
- ISO9001、ISO14001和ISO45001質(zhì)量環(huán)境及職業(yè)健康安全三個(gè)體系的對(duì)比
- 大學(xué)生創(chuàng)新創(chuàng)業(yè)基礎(chǔ)教程(高校創(chuàng)新創(chuàng)業(yè)教育課程)全套教學(xué)課件
- 2024年內(nèi)蒙古交通職業(yè)技術(shù)學(xué)院單招職業(yè)技能測(cè)試題庫完整
- 天津和平區(qū)2024屆高三一模數(shù)學(xué)試題(解析版)
- 2024年江蘇蘇??毓杉瘓F(tuán)有限公司招聘筆試沖刺題(帶答案解析)
- 工商聯(lián)業(yè)務(wù)工作培訓(xùn)
- 商業(yè)街消防安全培訓(xùn)
- 湖北省曾都區(qū)烏鴉山礦區(qū)建筑用輝綠巖礦礦產(chǎn)資源開發(fā)利用與生態(tài)復(fù)綠方案
評(píng)論
0/150
提交評(píng)論