社區(qū)網(wǎng)站后臺(tái)管理系統(tǒng)--畢業(yè)論文.doc_第1頁
社區(qū)網(wǎng)站后臺(tái)管理系統(tǒng)--畢業(yè)論文.doc_第2頁
社區(qū)網(wǎng)站后臺(tái)管理系統(tǒng)--畢業(yè)論文.doc_第3頁
社區(qū)網(wǎng)站后臺(tái)管理系統(tǒng)--畢業(yè)論文.doc_第4頁
社區(qū)網(wǎng)站后臺(tái)管理系統(tǒng)--畢業(yè)論文.doc_第5頁
已閱讀5頁,還剩32頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

xxxx市xxxx區(qū)“xxxx”社區(qū)網(wǎng)站(后臺(tái)管理系統(tǒng)) 畢業(yè)設(shè)計(jì)說明書目 錄內(nèi)容摘要1一、引言2(一)開發(fā)背景2(二)選題內(nèi)容21課題的總體介紹22指導(dǎo)思想及技術(shù)路線23應(yīng)解決的主要問題2二、系統(tǒng)設(shè)計(jì)相關(guān)介紹2(一)ASP.NET技術(shù)介紹2(二)ASP.NET圖形編程技術(shù)介紹3三、系統(tǒng)需求分析7(一)系統(tǒng)功能需求71網(wǎng)站常規(guī)管理模塊72新聞中心管理模塊73注冊(cè)用戶管理模塊74四季論壇管理模塊7(二)開發(fā)及運(yùn)行環(huán)境71軟件環(huán)境72硬件環(huán)境8四、系統(tǒng)的概要設(shè)計(jì)8(一)系統(tǒng)的框架圖設(shè)計(jì)8(二)系統(tǒng)的模塊設(shè)計(jì)81登錄頁面的設(shè)計(jì)82后臺(tái)頁面的界面設(shè)計(jì)9五、系統(tǒng)的詳細(xì)設(shè)計(jì)10(一)后臺(tái)管理系統(tǒng)流程圖10(二)后臺(tái)管理系統(tǒng)功能結(jié)構(gòu)圖10(三)數(shù)據(jù)表結(jié)構(gòu)101系統(tǒng)數(shù)據(jù)表社區(qū)公告表102系統(tǒng)數(shù)據(jù)表社區(qū)新聞表113系統(tǒng)數(shù)據(jù)表活動(dòng)表114系統(tǒng)數(shù)據(jù)表會(huì)員表115系統(tǒng)數(shù)據(jù)表評(píng)論表126系統(tǒng)數(shù)據(jù)表帖子表127系統(tǒng)數(shù)據(jù)表回復(fù)表13(四)系統(tǒng)實(shí)現(xiàn)131管理員登錄132密碼修改163公告管理184公告添加模塊225帖子管理256在線客服29六、總結(jié)32致謝34參考文獻(xiàn)34畢業(yè)設(shè)計(jì)說明書xxxxxxxx區(qū)“xxxx”社區(qū)網(wǎng)站(后臺(tái)管理系統(tǒng))內(nèi)容摘要xxxx市xxxx區(qū)“xxxx”社區(qū)網(wǎng)站后臺(tái)管理系統(tǒng)本著為社區(qū)服務(wù)人員提供一個(gè)實(shí)現(xiàn)對(duì)社區(qū)的信息化管理和信息的快速傳遞的平臺(tái),從而節(jié)省大量的人力和物力,而且極大的豐富和方便了小區(qū)居民的日常生活。本網(wǎng)站主要實(shí)現(xiàn)的功能是:實(shí)現(xiàn)小區(qū)信息的動(dòng)態(tài)發(fā)布,小區(qū)意見欄的動(dòng)態(tài)管理,論壇的管理等功能。系統(tǒng)的需求分析是在系統(tǒng)開發(fā)的總?cè)蝿?wù)的基礎(chǔ)上完成的,并從實(shí)際應(yīng)用的角度考慮,能夠極大方便的順利完成日常的小區(qū)的管理工作。本網(wǎng)站選用的主要開發(fā)軟件技術(shù)是ASP.NET,數(shù)據(jù)庫的創(chuàng)建使用SQL Server2000,以及iframe框架進(jìn)行布局和三層架構(gòu)實(shí)現(xiàn)數(shù)據(jù)的增加、刪除、修改等功能操作。本文主要介紹了xxxx市xxxx區(qū)“xxxx”社區(qū)網(wǎng)站后臺(tái)管理系統(tǒng)的開發(fā)初衷和背景,系統(tǒng)的開發(fā)工具,結(jié)構(gòu)化開發(fā)的具體步驟,其中包括框架圖和一些必要的圖形說明。關(guān)鍵詞:ASP.NET;iframe框架;三層架構(gòu)一、引言(一)開發(fā)背景在計(jì)算機(jī)網(wǎng)絡(luò)飛速發(fā)展的今天,互聯(lián)網(wǎng)已成為人們快速獲取、發(fā)布和傳遞信息的重要渠道,它在整個(gè)社會(huì)的政治、經(jīng)濟(jì)、生活等各個(gè)方面發(fā)揮著重要的作用。而今,僅僅依靠原始的手工管理和人們口頭的信息傳遞,已經(jīng)無法有效的面對(duì)人們?nèi)粘I顚?duì)信息的大量需求,并做出相應(yīng)的判斷和處理,社區(qū)管理人員的決策只能依據(jù)報(bào)表數(shù)據(jù),在浪費(fèi)了大量的人力物力的同時(shí)無法做到有效的監(jiān)控,難以保證信息的準(zhǔn)確性和及時(shí)性,而且居民的有效信息也難以快速的傳遞給社區(qū)工作站的工作人員。因此,社區(qū)管理的信息化就成為了人們向往的目標(biāo)。社區(qū)管理人員非常需要既有先進(jìn)的管理思想又適合國內(nèi)社區(qū)和社區(qū)信息管理和實(shí)用的網(wǎng)站,作為對(duì)社區(qū)管理實(shí)現(xiàn)有目標(biāo)和提高現(xiàn)有水平的重要手段。針對(duì)這種情況,社區(qū)的管理網(wǎng)站應(yīng)運(yùn)而生。本論文的研究,是運(yùn)用所學(xué)的知識(shí)來設(shè)計(jì)一個(gè)完整網(wǎng)站的后臺(tái)管理系統(tǒng)。(二)選題內(nèi)容1課題的總體介紹社區(qū)管理員可以登錄后臺(tái)管理系統(tǒng),對(duì)已注冊(cè)的用戶進(jìn)行刪除管理和用戶權(quán)限的管理;及時(shí)更新前臺(tái)信息,包括社區(qū)公告,居民留言,新聞信息,社區(qū)生活信息,也可以對(duì)已更新的信息進(jìn)行刪除管理;實(shí)現(xiàn)對(duì)論壇的管理;頁面內(nèi)的搜索。通過網(wǎng)站的管理實(shí)現(xiàn)了社區(qū)的信息化的進(jìn)程,提高了社區(qū)工作站的辦事效率,方便了居民的生活。2指導(dǎo)思想及技術(shù)路線本系統(tǒng)主要采用框架結(jié)構(gòu),即iframe技術(shù),將多個(gè)頁面以框架的形式組合起來,使得操作簡(jiǎn)單易行。而對(duì)于數(shù)據(jù)庫的創(chuàng)建,則是利用SQL Server 2000技術(shù)來解決。SQL Server 2000是Microsoft公司推出的SQL Server 數(shù)據(jù)庫管理系統(tǒng)的一個(gè)版本。3應(yīng)解決的主要問題社區(qū)管理員可以對(duì)論壇的帖子進(jìn)行轉(zhuǎn)移、置頂,并對(duì)有關(guān)帖子設(shè)置精華。由于能力有限經(jīng)反復(fù)測(cè)試失敗后,只能實(shí)現(xiàn)對(duì)論壇的刪除的功能,并添加論壇的回收站管理功能。在線聊天的功能用現(xiàn)今流行的PowerTalkBox控件實(shí)現(xiàn),通過綁定Msn來實(shí)現(xiàn)多個(gè)用戶和一個(gè)客服進(jìn)行交流。用三層架構(gòu)來實(shí)現(xiàn)數(shù)據(jù)的添加、刪除和修改。二、系統(tǒng)設(shè)計(jì)相關(guān)介紹(一)ASP.NET技術(shù)介紹ASP.NET被描述為一門技術(shù)而不是一種語言,這一點(diǎn)很重要。該技術(shù)通過編程語言訪問。本系統(tǒng)選用的語言是C#,即我們將利用C#創(chuàng)建Web頁面,而利用ASP.NET來驅(qū)動(dòng)它。基于ASP.NET技術(shù)的系統(tǒng)結(jié)構(gòu)模型ASP.NET結(jié)構(gòu)是一個(gè)三層系統(tǒng):UI層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層,具體如圖1所示:圖1 ASP.NET的系統(tǒng)三層架構(gòu)結(jié)構(gòu)模型數(shù)據(jù)庫業(yè)務(wù)邏輯層處理邏輯關(guān)系,數(shù)據(jù)的有效性判斷等。傳遞Sql語句返回所需要的數(shù)據(jù)操作數(shù)據(jù)庫數(shù)據(jù)訪問層:從邏輯層接收Sql指令;到數(shù)據(jù)庫中讀取所需要數(shù)據(jù);xxxx社區(qū)網(wǎng)站后臺(tái)管理系統(tǒng)中主要運(yùn)用了用戶表示層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層,下面對(duì)三層架構(gòu)進(jìn)行介紹:用戶表示層(UI,簡(jiǎn)稱USL)負(fù)責(zé)與用戶交互,接收用戶的輸入并將服務(wù)器端傳來的數(shù)據(jù)呈現(xiàn)給客戶。業(yè)務(wù)邏輯層(Business Logic Layer,簡(jiǎn)稱BLL)是表示層與數(shù)據(jù)訪問層之間的橋梁,負(fù)責(zé)數(shù)據(jù)處理、傳遞。 用于訪問數(shù)據(jù)層,從數(shù)據(jù)層獲取數(shù)據(jù)、修改數(shù)據(jù)以及刪除數(shù)據(jù),并把取得的數(shù)據(jù)放到Data Reader或Dataset中返回給表現(xiàn)層。數(shù)據(jù)訪問層(Database Access Layer,簡(jiǎn)稱DAL)是直接和數(shù)據(jù)庫進(jìn)行交互的地方,也是整個(gè)系統(tǒng)里唯一允許訪問數(shù)據(jù)庫的地方。該層所做事務(wù)直接操作數(shù)據(jù)庫,針對(duì)數(shù)據(jù)的增添、刪除、修改、更新、查找等。除此之外,還有一個(gè)業(yè)務(wù)實(shí)體層,這個(gè)層比較特殊,就是定義實(shí)體類的地方,變成一個(gè)公共層。(二)ASP.NET圖形編程技術(shù)介紹在各種黑客攻擊中,很常見的就是套取用戶名和密碼,其中很多是采用枚舉字典的方式來不斷的測(cè)試用戶名和密碼。驗(yàn)證碼技術(shù)是目前很多WEB程序采用的一種安全防御技術(shù)。系統(tǒng)在登錄的時(shí)候不但要輸出用戶名和密碼,還要額外輸入一種隨機(jī)生成的驗(yàn)證碼文本,此時(shí)用戶需要正確的輸入這三個(gè)信息才能登錄到系統(tǒng)中。驗(yàn)證碼技術(shù)使用了一定的圖形編程。首先建一個(gè)圖片服務(wù)頁面(CheckCode.aspx),專門用于提供包含驗(yàn)證碼文本的圖片。其HTML代碼很簡(jiǎn)單,只有一行,不輸出任何內(nèi)容。在其Page_Load方法中就有創(chuàng)建驗(yàn)證碼圖片的過程。protected void Page_Load(object sender, EventArgs e) / 在此處放置用戶代碼以初始化頁面 Response.Cache.SetCacheability(System.Web.HttpCacheability.NoCache); SessionSjjh_VCode = GenerateCheckCode(); this.CreateCheckCodeImage(SessionSjjh_VCode.ToString(); /獲取隨即產(chǎn)生的數(shù)字 private string GenerateCheckCode() int number; char code; string checkCode = String.Empty; Random random = new Random(); for (int i = 0; i 5; i+) /產(chǎn)生5個(gè)隨機(jī)數(shù) number = random.Next(); code = (char)(0 + (char)(number % 10); checkCode += code.ToString(); return checkCode; /創(chuàng)建生成驗(yàn)證碼的圖片 private void CreateCheckCodeImage(string checkCode) if (checkCode = null | checkCode.Trim() = String.Empty) return; System.Drawing.Bitmap image = new System.Drawing.Bitmap(int)Math.Ceiling(checkCode.Length * 12.5), 23); / 創(chuàng)建位圖繪制對(duì)象 Graphics g = Graphics.FromImage(image); / 繪制驗(yàn)證碼文本 /生成隨機(jī)生成器 Random random = new Random(); /圖片背景色 g.Clear(Color.Blue); /畫圖片的背景噪音線 Font font = new System.Drawing.Font(Arial, 12, (System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic); System.Drawing.Drawing2D.LinearGradientBrush brush = new System.Drawing.Drawing2D.LinearGradientBrush(new Rectangle(0, 0, image.Width, image.Height), Color.White, Color.Silver, 1.2f, true); g.DrawString(checkCode, font, brush, 2, 2); /調(diào)用圖形繪制對(duì)象的DrawString函數(shù)將驗(yàn)證碼文本顯示在這個(gè)位圖上 /畫圖片的前景噪音點(diǎn) for (int i = 0; i 88; i+) int x = random.Next(image.Width); int y = random.Next(image.Height); image.SetPixel(x, y, Color.FromArgb(random.Next(); /畫圖片的邊框線 g.DrawRectangle(new Pen(Color.Gold), 0, 0, image.Width - 1, image.Height - 1); System.IO.MemoryStream ms = new System.IO.MemoryStream(); image.Save(ms, System.Drawing.Imaging.ImageFormat.Gif); Response.ClearContent(); Response.ContentType = image/Gif;/輸出圖片 Response.BinaryWrite(ms.ToArray(); 我們使用.NET框架中隨機(jī)數(shù)生成器 Random類型來生成一個(gè)不定長(zhǎng)的包含隨機(jī)數(shù)字的文本,這就是驗(yàn)證碼原始文本,我們將其保存在session中供以后使用。然后我們創(chuàng)建一個(gè)臨時(shí)圖片CreateCheckCodeImage()的方法,并據(jù)此創(chuàng)建一個(gè)臨時(shí)的圖像繪制對(duì)象,然后調(diào)用Graphics的FromImage圖形繪制對(duì)象,據(jù)此我們就可以計(jì)算出驗(yàn)證碼圖片的大小。其次我們創(chuàng)建一個(gè)位圖對(duì)象,在此基礎(chǔ)上創(chuàng)建一個(gè)圖形繪制對(duì)象,然后調(diào)用圖形繪制對(duì)象的DrawString函數(shù)將驗(yàn)證碼文本繪制在這個(gè)位圖上。繪制驗(yàn)證碼后我們?cè)趫D片上隨機(jī)的制造雜點(diǎn)來混淆圖片內(nèi)容,為使背景圖片顏色和整個(gè)登錄界面的主色調(diào)相一致,故設(shè)為藍(lán)色。這些雜點(diǎn)能嚴(yán)重的干擾程序辨認(rèn)驗(yàn)證碼文本。但人腦在辨認(rèn)文本時(shí)能比較輕松的排除這些干擾。圖片生成后頁面就使用GIF格式將圖片文檔發(fā)送到客戶端。驗(yàn)證碼圖片服務(wù)頁面完成后,我們就可以利用這個(gè)頁面來實(shí)現(xiàn)驗(yàn)證碼技術(shù)。如圖2用戶登錄界面(Login.aspx)所示:圖2 用戶登錄界面上面放置輸入用戶名,密碼和驗(yàn)證碼的三個(gè)文本輸入框。其中驗(yàn)證碼輸入框后面放置一個(gè)圖片,圖片就來源于CheckCode.aspx頁面。用戶輸入三個(gè)信息后點(diǎn)擊確定按鈕進(jìn)行登錄。則運(yùn)行該按鈕的服務(wù)器段代碼。protected void btnLogin_Click(object sender, EventArgs e) /判斷驗(yàn)證碼輸入是否錯(cuò)誤 if (SessionSjjh_VCode.ToString() != txtCode.Text.Trim() JsUtil.ShowMsg(驗(yàn)證碼錯(cuò)誤!, ?); /用戶登錄定義用戶帳號(hào)長(zhǎng)度212個(gè)字符,密碼長(zhǎng)度215個(gè)字符,并在數(shù)據(jù)庫表中查詢是否存在此用戶。 string UserName = txtUserName.Text.ToString(); string PassWord = txtPwd.Text.ToString(); if (UserName.Length 12) JsUtil.ShowMsg(帳號(hào)長(zhǎng)度必須為212個(gè)字符!, javascript:history.back(); if (PassWord.Length 15) JsUtil.ShowMsg(密碼長(zhǎng)度必須為215個(gè)字符! + PassWord.Length, javascript:history.back(); if (bll.Exists(and UserName= + UserName + and Syspass= + PassWord + and UserType=SysMaster)/系統(tǒng)管理員登錄 Sessionusername = txtUserName.Text.Trim(); Sessionusertype = user.UserType; JsUtil.ShowMsg(登錄成功!, Main.aspx); if (bll.Exists(and UserName= + UserName + and Syspass= + PassWord + and UserType=Master)/管理員登錄 Sessionusertype = user.UserType; Sessionusername = txtUserName.Text.Trim(); JsUtil.ShowMsg(登錄成功!, Main.aspx); if (bll.Exists(and UserName= + UserName + and Syspass= + PassWord + and UserType=User)/普通用戶登錄 JsUtil.ShowMsg(對(duì)不起,您沒有權(quán)限登錄!); else JsUtil.ShowMsg(用戶名或密碼不正確!, Login.aspx); 在該代碼中,程序獲得用戶輸入的用戶名,密碼和驗(yàn)證碼,然后判斷用戶名密碼是否正確,還調(diào)用Session值來判斷驗(yàn)證碼是否正確。只有這三個(gè)信息都正確則登錄成功,否則登錄失敗。在少數(shù)情況下,程序生成的驗(yàn)證碼圖片難以辨認(rèn),則需要重新提供新的驗(yàn)證碼圖片,此時(shí)我們?cè)诘卿涰撁嬷锌梢噪p擊這個(gè)圖片來更新驗(yàn)證碼圖片。顯示驗(yàn)證碼圖片的HTML代碼片斷為:用戶單擊圖片后,瀏覽器重新調(diào)用CheckCode.aspx頁面,于是服務(wù)器端的驗(yàn)證碼文本用了新的,而圖片內(nèi)容也隨之更新。由于每次嘗試登錄或更換驗(yàn)證碼圖片時(shí),正確的驗(yàn)證碼都是隨機(jī)的發(fā)生改變,毫無規(guī)律,這樣就很大的增強(qiáng)了登錄頁面的安全性。三、系統(tǒng)需求分析(一)系統(tǒng)功能需求社區(qū)網(wǎng)站后臺(tái)管理系統(tǒng),主要用于網(wǎng)站管理員實(shí)現(xiàn)對(duì)社區(qū)新聞信息的發(fā)布,修改刪除;用戶會(huì)員的審核,權(quán)限設(shè)置等,對(duì)網(wǎng)站前臺(tái)的各種信息發(fā)布修改刪除等。具體要求如下:1網(wǎng)站常規(guī)管理模塊網(wǎng)站常規(guī)管理模塊分為退出系統(tǒng),用戶登錄和系統(tǒng)管理三個(gè)子菜單。當(dāng)管理員成功登錄后,如點(diǎn)擊“退出系統(tǒng)”,則會(huì)跳出對(duì)話框詢問“是否真的要退出系統(tǒng)?”,點(diǎn)擊“確定”,則退出系統(tǒng),點(diǎn)擊“取消”,則返回頁面。點(diǎn)擊“用戶登錄”,跳轉(zhuǎn)到登錄頁面重新登錄。點(diǎn)擊“密碼修改”,則實(shí)現(xiàn)管理員對(duì)自己的密碼進(jìn)行修改。2新聞中心管理模塊新聞中心管理模塊分為公告管理,發(fā)布公告,新聞管理,發(fā)布新聞,活動(dòng)管理和發(fā)布活動(dòng)六個(gè)子菜單。當(dāng)管理員成功登錄后,點(diǎn)擊“公告管理”,則實(shí)現(xiàn)對(duì)前臺(tái)社區(qū)公告的修改和刪除管理(如下“新聞管理”和“活動(dòng)管理”與之同理)。點(diǎn)擊“發(fā)布公告”,則可以發(fā)布公告欄的信息(如下“發(fā)布新聞”與“發(fā)布活動(dòng)”與之同理)。3注冊(cè)用戶管理模塊注冊(cè)用戶管理模塊分為會(huì)員管理,留言管理和評(píng)論管理三個(gè)子菜單。當(dāng)管理員成功登錄后,點(diǎn)擊“會(huì)員管理”,則實(shí)現(xiàn)對(duì)網(wǎng)站普通會(huì)員的修改權(quán)限和刪除管理。點(diǎn)擊“留言管理”,則實(shí)現(xiàn)對(duì)用戶留言的回復(fù)和刪除管理。點(diǎn)擊“評(píng)論管理”,則實(shí)現(xiàn)對(duì)用戶評(píng)論信息的刪除管理。(注:此評(píng)論信息為用戶對(duì)新聞中心的信息進(jìn)行的評(píng)論)4四季論壇管理模塊四季論壇管理模塊分為帖子管理,回復(fù)管理和回收站管理三個(gè)子菜單。當(dāng)管理員成功登錄時(shí),點(diǎn)擊“帖子管理”,則實(shí)現(xiàn)對(duì)論壇帖子的刪除管理(此刪除管理,并不是真的刪除帖子,而是將帖子刪除到回收站)。點(diǎn)擊“回復(fù)管理”,則實(shí)現(xiàn)對(duì)帖子的ID號(hào)實(shí)現(xiàn),回復(fù)刪除管理。點(diǎn)擊“回收管理”,則實(shí)現(xiàn)對(duì)帖子的刪除后保存到回收站,在回收站中可實(shí)現(xiàn)帖子的恢復(fù)和刪除管理。(二)開發(fā)及運(yùn)行環(huán)境1軟件環(huán)境: 操作系統(tǒng):WINDOWS 2000/XP: 開發(fā)工具:VISUAL STUDIO 2005: 數(shù)據(jù)庫管理系統(tǒng):SQL SERVER 20002硬件環(huán)境: 硬盤大小:20GB以上磁盤空間: 顯示分辨率:800600,建議1024768: 具備PENTIUM、512RAM及以上配置的微型計(jì)算機(jī)一臺(tái)四、系統(tǒng)的概要設(shè)計(jì)(一)系統(tǒng)的框架圖設(shè)計(jì)圖3 網(wǎng)站后臺(tái)管理系統(tǒng)框架圖后臺(tái)管理系統(tǒng)的框架圖設(shè)計(jì)的主要思路有:用iframe框架布局(Main.aspx),將多個(gè)頁面以框架的形式組合起來,使得操作簡(jiǎn)單易行。系統(tǒng)的功能特點(diǎn):管理員對(duì)前臺(tái)信息進(jìn)行即時(shí)的更新和刪除,實(shí)現(xiàn)對(duì)注冊(cè)用的權(quán)限管理等。操作簡(jiǎn)單方便、界面簡(jiǎn)潔美觀,能更好的為社區(qū)管理員提供服務(wù)。(如圖3)(二)系統(tǒng)的模塊設(shè)計(jì)1登錄頁面的設(shè)計(jì)1.1設(shè)計(jì)思路在平時(shí)做項(xiàng)目或課程設(shè)計(jì)時(shí),我們通常只是用最基本的用戶名和密碼來驗(yàn)證用戶是否有權(quán)限登錄。但是,在現(xiàn)在的軟件運(yùn)行環(huán)境下,惡意攻擊網(wǎng)站的黑客無處不在,且攻擊方式日益豐富,尤其是WEB系統(tǒng)由于其開放性更是遇到嚴(yán)峻的考驗(yàn)。在各種黑客攻擊中,很常見的就是套取用戶名和密碼,其中很多是采用枚舉字典的方式來不斷的測(cè)試用戶名和密碼。因此考慮到提高用戶登錄的安全性,在后臺(tái)管理員登錄時(shí),除了輸入基本的用戶名和密碼的文本框信息驗(yàn)證外,還添加了驗(yàn)證碼技術(shù)。管理員正確輸入用戶名,密碼和驗(yàn)證碼時(shí),點(diǎn)擊“提交”按鈕,提示“登錄成功!”,并跳轉(zhuǎn)到后臺(tái)首頁(Main.aspx);點(diǎn)擊“取消”時(shí),將用戶名,密碼和驗(yàn)證碼的輸入框內(nèi)容清空。1.2界面實(shí)現(xiàn)(如圖4)圖4 登錄頁面的設(shè)計(jì)2后臺(tái)頁面的界面設(shè)計(jì)2.1設(shè)計(jì)思路由于后臺(tái)管理系統(tǒng)主要是實(shí)現(xiàn)管理員管理前臺(tái)界面的功能。因此,我采用iframe框架技術(shù)來實(shí)現(xiàn)布局,整體主要分為上、中、下三個(gè)部分。因?yàn)?,頂部的?dǎo)航和底部的版權(quán)聲明不會(huì)改變,所以分別將導(dǎo)航定義為用戶自定義控件放入(Top.ascx),底部的版權(quán)聲明定義為用戶自定義控件放入(Footer.ascx)。中間部分采用左右布局,左邊部分放置JavaScript技術(shù)實(shí)現(xiàn)的菜單,右邊部分為功能實(shí)現(xiàn)的頁面。實(shí)現(xiàn)網(wǎng)站常規(guī)管理,新聞中心管理,注冊(cè)用戶管理和四季論壇管理。其中包括各功能模塊的增加、刪除和修改。2.2界面實(shí)現(xiàn)(如圖5)提示在線人數(shù)、IP地址和歡迎語句。圖5 后臺(tái)首面的界面設(shè)計(jì)五、系統(tǒng)的詳細(xì)設(shè)計(jì)(一)后臺(tái)管理系統(tǒng)流程圖xxxx社區(qū)網(wǎng)站主要分為前臺(tái)和后臺(tái),前臺(tái)主要是社區(qū)信息的展示,包括社區(qū)概況、社區(qū)新聞、公告、活動(dòng)信息,以及社區(qū)職能部門的介紹。后臺(tái)主要是實(shí)現(xiàn)對(duì)前臺(tái)信息的更新,包括社區(qū)新聞、公告、活動(dòng)信息的即時(shí)更新,注冊(cè)用戶的角色管理,論壇帖子管理等,具體如圖6所示:圖6 后臺(tái)管理系統(tǒng)流程圖(二)后臺(tái)管理系統(tǒng)功能結(jié)構(gòu)圖xxxx社區(qū)網(wǎng)站后臺(tái)管理系統(tǒng)主要分為四個(gè)模塊:網(wǎng)站常規(guī)管理模塊、新聞中心管理模塊、注冊(cè)用戶管理模塊、四季論壇管理模塊。(如圖7)功能結(jié)構(gòu)常規(guī)管理論壇管理用戶管理新聞管理退出系統(tǒng)用戶登錄密碼修改公告管理發(fā)布公告新聞管理發(fā)布新聞活動(dòng)管理貼子管理評(píng)論管理回復(fù)管理回收管理會(huì)員管理圖7 xxxx社區(qū)網(wǎng)站后臺(tái)管理系統(tǒng)功能結(jié)構(gòu)圖(三)數(shù)據(jù)表結(jié)構(gòu)1系統(tǒng)數(shù)據(jù)表社區(qū)公告表表1 社區(qū)網(wǎng)站公告表NO字段字段描述數(shù)據(jù)類型主鍵非空1ID公告編號(hào)intYY2ClassID類別編號(hào)int Y3Title公告標(biāo)題nvarchar(50)N4Writer發(fā)布者nvarchar(50)N5Content公告內(nèi)容Ntext(16)N6UpdateTime更新時(shí)間Datetime(8)N7Image活動(dòng)圖片nvarchar(50)N2系統(tǒng)數(shù)據(jù)表社區(qū)新聞表表2 社區(qū)網(wǎng)站新聞表NO字段字段描述數(shù)據(jù)類型主鍵非空1ID新聞編號(hào)intYY2ClassID類別編號(hào)int Y3Title新聞標(biāo)題nvarchar(50)N4Writer發(fā)布者nvarchar(50)N5Content新聞內(nèi)容Ntext(16)N6UpdateTime更新時(shí)間Datetime(8)N7Image新聞圖片nvarchar(50)N3系統(tǒng)數(shù)據(jù)表活動(dòng)表表3 社區(qū)網(wǎng)站活動(dòng)表NO字段字段描述數(shù)據(jù)類型主鍵非空1ID活動(dòng)編號(hào)intYY2ClassID類別編號(hào)int Y3Title活動(dòng)標(biāo)題nvarchar(50)N4Writer發(fā)布者nvarchar(50)N5Content活動(dòng)內(nèi)容Ntext(16)N6UpdateTime更新時(shí)間Datetime(8)N7Image活動(dòng)圖片nvarchar(50)N4系統(tǒng)數(shù)據(jù)表會(huì)員表表4 社區(qū)網(wǎng)站會(huì)員表NO字段字段描述數(shù)據(jù)類型主鍵非空1UID會(huì)員編號(hào)intYY2UserName會(huì)員昵稱nvarchar(50)N2Password密碼nvarchar(50)N3SysPass系統(tǒng)密碼nvarchar(50)N4RealName真實(shí)姓名nvarchar(50)N5Sex性別nvarchar(50)N6Email電子郵件nvarchar(50)N7Address地址nvarchar(50)N8WorkName工作nvarchar(50)N9Phone電話nvarchar(50)N10Birthday生日smalldatetimeN11Pic頭像nvarchar(50)N12RegDate注冊(cè)日期smalldatetimeN14UserType會(huì)員類別nvarchar(50)N5系統(tǒng)數(shù)據(jù)表評(píng)論表表5 社區(qū)網(wǎng)站評(píng)論表NO字段字段描述數(shù)據(jù)類型主鍵非空1CommentID評(píng)論編號(hào)intYY2ClassID類別編號(hào)int Y3ID帖子編號(hào)intN4UID會(huì)員編號(hào)intN5Title評(píng)論標(biāo)題varchar(50)N6Content評(píng)論內(nèi)容varchar(50)N6UpdateTime更新時(shí)間Datetime(8)N7UserName會(huì)員昵稱varchar(50)N6系統(tǒng)數(shù)據(jù)表帖子表表6 社區(qū)網(wǎng)站帖子表NO字段字段描述數(shù)據(jù)類型主鍵非空1ID帖子編號(hào)intYY2Username發(fā)布者nvarchar(50)N3BigClassID分類編號(hào)int N4UID會(huì)員編號(hào)intN5Title帖子標(biāo)題nvarchar(100)N6Content帖子內(nèi)容ntext(16)N7TopType置頂intN8IsBest精華bitN9ViewCount點(diǎn)擊次數(shù)intN10IsBesting是否精華bitN11IsDeleting是否刪除bitN12IsGuest是否點(diǎn)擊bitN13LastReplyID回復(fù)編號(hào)intN14LastReplyTime回復(fù)時(shí)間smalldatetimeN15LastReplyName回復(fù)者Nvarchar(255)N16LastReplyContent回復(fù)內(nèi)容ntextN17AddTime發(fā)布時(shí)間smalldatetimeN18UpdateTime更新時(shí)間smalldatetimeN7系統(tǒng)數(shù)據(jù)表回復(fù)表表7 社區(qū)網(wǎng)站回復(fù)表NO字段字段描述數(shù)據(jù)類型主鍵非空1ID回復(fù)編號(hào)intYY2UID會(huì)員編號(hào)intN2BBSID帖子編號(hào)int N3UserName會(huì)員昵稱nvarchar(50)N4Title回復(fù)標(biāo)題nvarchar(50)N5Content回復(fù)內(nèi)容ntext(16)N6AddTime添加時(shí)間smalldatetimeN7AddOn繼續(xù)添加nvarchar(50)N10UpdateTime更新時(shí)間smalldatetimeN(四)系統(tǒng)實(shí)現(xiàn)1管理員登錄1.1界面實(shí)現(xiàn)(如圖8)圖8 管理員登錄1.2設(shè)計(jì)思路與解決過程管理登錄時(shí),需要驗(yàn)證其用戶名和密碼是否與數(shù)據(jù)庫中已注冊(cè)的管理員信息一致,并且要驗(yàn)證其權(quán)限是否是“系統(tǒng)管理員”或是“普通管理員”,當(dāng)權(quán)限驗(yàn)證通過后,進(jìn)入后臺(tái)主頁進(jìn)行管理操作,否則提示錯(cuò)誤信息“對(duì)不起,您沒有權(quán)限登錄!”。只有當(dāng)管理員輸入正確的用戶名,密碼和驗(yàn)證碼,點(diǎn)擊提交,提示“登錄成功!”,并跳轉(zhuǎn)到后臺(tái)首頁;若用戶名、密碼輸入為空,則RequiredFieldValidator控件提示“不能為空”;若輸入錯(cuò)誤則提示“用戶名或密碼輸入錯(cuò)誤!”。 1.3主要代碼/管理員登錄(Login.cs)protected void btnLogin_Click(object sender, EventArgs e)=解析思路:判斷情況一:判斷用戶輸入的驗(yàn)證碼是否與CheckCode.aspx頁面?zhèn)鱽淼尿?yàn)證文本的Session值是否一致,當(dāng)用戶輸入正確的用戶名和密碼和輸入錯(cuò)誤的驗(yàn)證碼時(shí),點(diǎn)擊“提交”后提示錯(cuò)誤信息“驗(yàn)證碼錯(cuò)誤!“,否則繼續(xù)執(zhí)行下面代碼。(如圖9)圖9 驗(yàn)證碼錯(cuò)誤= /判斷驗(yàn)證碼輸入是否錯(cuò)誤 if (SessionSjjh_VCode.ToString() != txtCode.Text.Trim() JsUtil.ShowMsg(驗(yàn)證碼錯(cuò)誤!, ?); =解析思路:判斷情況二:判斷用戶輸入的用戶名和密碼是否正確,當(dāng)用戶名小于2或大于12個(gè)字符串時(shí),提示“賬號(hào)長(zhǎng)度必須為212個(gè)字符!“,當(dāng)密碼長(zhǎng)度小于215個(gè)字符時(shí),提示”密碼長(zhǎng)度必須為215個(gè)字符“。(如圖10)圖10 用戶名或密碼錯(cuò)誤= /用戶登錄定義用戶帳號(hào)長(zhǎng)度212個(gè)字符,密碼長(zhǎng)度215個(gè)字符,并在數(shù)據(jù)庫表中查詢是否存在此用戶。 string UserName = txtUserName.Text.ToString(); string PassWord = txtPwd.Text.ToString(); if (UserName.Length 12) JsUtil.ShowMsg(帳號(hào)長(zhǎng)度必須為212個(gè)字符!, javascript:history.back(); if (PassWord.Length 15) JsUtil.ShowMsg(密碼長(zhǎng)度必須為215個(gè)字符! + PassWord.Length, javascript:history.back();=解析思路:隨即,調(diào)用三層架構(gòu)中UserBll頁面中的Exists方法,判斷數(shù)據(jù)庫中是否存在此權(quán)限用戶,若存在,則提示“登錄成功!“,若不存在則提示”用戶名或密碼錯(cuò)誤!“,當(dāng)驗(yàn)證用戶沒有此登錄權(quán)限時(shí),提示”對(duì)不起,請(qǐng)沒有權(quán)限登錄!“(如圖11、12)圖11 判斷用戶是否存在圖12 用戶成功登錄= if (bll.Exists(and UserName= + UserName + and Syspass= + PassWord + and UserType=SysMaster)/系統(tǒng)管理員登錄 Sessionid = user.UID; Sessionusername = txtUserName.Text.Trim(); Sessionusertype = user.UserType; JsUtil.ShowMsg(登錄成功!, Main.aspx); if (bll.Exists(and UserName= + UserName + and Syspass= + PassWord + and UserType=Master)/管理員登錄 Sessionid = user.UID; Sessionusertype = user.UserType; Sessionusername = txtUserName.Text.Trim(); JsUtil.ShowMsg(登錄成功!, Main.aspx); if (bll.Exists(and UserName= + UserName + and Syspass= + PassWord + and UserType=User)/普通用戶登錄 JsUtil.ShowMsg(對(duì)不起,您沒有權(quán)限登錄!); else JsUtil.ShowMsg(用戶名或密碼不正確!, Login.aspx); /重置,清空輸入框中的內(nèi)容 protected void btnReset_Click(object sender, EventArgs e) txtUserName.Text = ; txtPwd.Text = ; txtCode.Text = ; 2密碼修改21界面實(shí)現(xiàn)(如圖13)圖13 密碼修改2.2設(shè)計(jì)思路與解決過程網(wǎng)站管理模塊可實(shí)現(xiàn)管理員退出系統(tǒng),重新登錄,修改密碼,以及回到首頁等操作。當(dāng)管理員員執(zhí)行完管理操作后,可點(diǎn)擊“退出系統(tǒng)“,則會(huì)跳出提示框”是否確定退出系統(tǒng)?“,點(diǎn)擊”確定“按鈕,則實(shí)現(xiàn)退出后臺(tái)主頁,回到登錄界面(Login.aspx),點(diǎn)擊“取消”,則保持不變。點(diǎn)擊“用戶登錄”后,則可實(shí)現(xiàn)管理員在修改密碼之后,可重新用新的密碼登錄系統(tǒng)。點(diǎn)擊”密碼修改“,則實(shí)現(xiàn)管理員對(duì)自己的信息修改,如若密碼不修改,則可自留空。在設(shè)計(jì)時(shí),系統(tǒng)可成功退出,但在點(diǎn)擊瀏覽器端的“后退”按鈕時(shí),卻出現(xiàn)也可回到后臺(tái)管理主頁。這樣就會(huì)導(dǎo)致網(wǎng)站存在不安全性。這是由于沒有清楚緩存的結(jié)果,在網(wǎng)上尋求大量相關(guān)信息來解決此問題,但卻終不得果,這也是讓我遺憾的地方。即使這樣,但也不能否定我在其他方面做得努力。2.3主要代碼/密碼修改(SysPassModify.cs) protected void btnModify_Click(object sender, EventArgs e)/修改,當(dāng)用戶修改密碼小于2或大于15個(gè)字符時(shí),提示”密碼長(zhǎng)度必須為215個(gè)字符!“,否則,填充到數(shù)據(jù)庫,并提示”修改成功! string Password, SysPass; if (txtPassWord.Text != ) Password = txtPassWord.Text; if (Password.Length 15) JsUtil.ShowMsg(密碼長(zhǎng)度必須為215個(gè)字符! + Password.Length, javascript:history.back(); else Password = lblOldPass.Text; =解析思路:在實(shí)現(xiàn)密碼修改功能時(shí),受限要判斷修改的前臺(tái)密碼和后臺(tái)密碼的文本框是否為空,如若為空,則將原來的密碼賦給定義的Password和SysPass,如果不為空,則需要判斷輸入的字符串長(zhǎng)度是否在215個(gè)字符之間,如若不在,則提示“密碼長(zhǎng)度必須為215個(gè)字符!”(如圖14)圖14 密碼修改= /系統(tǒng)密碼 if (txtSysPass.Text != ) SysPass = txtSysPass.Text; if (SysPass.Length 15) JsUtil.ShowMsg(密碼長(zhǎng)度必須為215個(gè)字符! + SysPass.Length, javascript:history.back(); else SysPass = lblOldSysPass.Text; UserBll bll = new UserBll(); User user = bll.GetModel(and User

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論