姜 偉,方木云
易懂、通用的自助式網(wǎng)站系統(tǒng),需要解決以下幾點問題:網(wǎng)站各子站風(fēng)格必須統(tǒng)一,接近于主站;實現(xiàn)導(dǎo)航欄菜單和logo的自助式動態(tài)設(shè)置,達到有限增加頁面,用戶自己設(shè)置網(wǎng)站,開發(fā)者輕松的目標(biāo);建立網(wǎng)站的通用類型模版。
1.2.1 系統(tǒng)應(yīng)用邏輯
網(wǎng)站采用B/S(Browser/Server)結(jié)構(gòu),客戶端用戶使用瀏覽器進行訪問,服務(wù)器端采用3層架構(gòu),包括表示層、應(yīng)用層和數(shù)據(jù)層。表示層負責(zé)對應(yīng)用的展示,提供二級網(wǎng)站服務(wù)的發(fā)布,包括教學(xué)網(wǎng)站、職能網(wǎng)站、教學(xué)網(wǎng)站及部門網(wǎng)站等;應(yīng)用層封裝業(yè)務(wù)邏輯,實現(xiàn)網(wǎng)站群的站點及站點資源管理、用戶及用戶權(quán)限的管理、信息采集及發(fā)布的管理等;數(shù)據(jù)層提供聯(lián)機事務(wù)處理,實現(xiàn)數(shù)據(jù)的統(tǒng)一訪問。
1.2.2 自助式網(wǎng)站建設(shè)框架設(shè)計
網(wǎng)站頁面采用上、中、下3層框架設(shè)計,Top.aspx顯示logo和導(dǎo)航欄,主頁顯示頁面,Bottom.aspx顯示版權(quán)信息,所有主頁使用統(tǒng)一的Top.aspx;logo和導(dǎo)航欄通過一定的邏輯方法動態(tài)顯示。建立公共網(wǎng)頁目錄Publicpage,存儲所有自助式網(wǎng)站部分功能模板,根據(jù)所送參數(shù),使模板頁顯示出需要顯示的效果。
使用SQLSERVER 2005,在主站原數(shù)據(jù)庫基礎(chǔ)上,建立兩張相關(guān)的表TopMenu和Publictable。
菜單表TopMenu起到動態(tài)控制導(dǎo)航欄菜單的作用。其中,leibie字段為部門標(biāo)識,比如A部門是020,B部門是021。OID字段標(biāo)識該導(dǎo)航欄菜單的級別和順序,當(dāng)OID為100、200…(100倍數(shù))時,該菜單為頂級菜單顯示,否則為二級菜單顯示。MenuText字段標(biāo)識為導(dǎo)航欄菜單在IE上顯示的內(nèi)容。URL字段標(biāo)識菜單鏈接地址,如morepublic.aspx是目錄publicpage下的公共頁模版,p和q送出MenuText和leibie參數(shù)。Parented字段為0表示頂級菜單,為-1是子菜單,該字段可以被看作OID字段的補充(圖1)。
通用表publictable以leibie字段和MenuText字段為外鍵,達到約束模板頁通用部分顯示內(nèi)容的效果。
關(guān)于實現(xiàn)logo動態(tài)顯示的問題,我們使用了一個小技巧:因為站點每個子站都擁有自己獨有的leibie字段,所以把Logo以leibie.jpg的形式保存在/image目錄下,例如A部門的logo命名為020.jpg,B部門為023.jpg……以此類推。然后在Top.ascx.cs的Page_Load事件中,加入賦值img=Request[“q”].ToString();。在Top.ascx中,在Logo顯示處寫入html代碼
實現(xiàn)導(dǎo)航欄的動態(tài)顯示,還是從leibie字段入手。先在Top.ascx中,建立一個Literal控件顯示導(dǎo)航欄,然后在Top.ascx.cs的程序中,建立一個對應(yīng)Literal控件Text屬性的公有對象getTopMenu()。對象中實現(xiàn)對TopMenu表leibie字段的一個動態(tài)查詢,然后再對Parented字段進行一個條件判斷:若是頂級菜單,則通過MenuContent.Append方法輸出一個
算法:(1)定義變量leibie=Request[“q”];pub=-1;(2)建立數(shù)據(jù)庫連接myConnection設(shè)計;(3)建立新的DataTable dt;實現(xiàn)對TopMenu表基于leibie字段等于變量leibie的查詢,查詢語句如下:SELECT*FROM TopMenu WHERELeibie=”+leibie+”O(jiān)RDERBY OID;(4)在html代碼中輸出一個
自助式頁面的實現(xiàn)采用的是送參數(shù)到模板頁的方法,即將leibie字段和MenuText字段的參數(shù)傳遞到公共頁morepublic.aspx,然后公共頁morepublic.aspx根據(jù)leibie字段和MenuText字段在通用表Publictable的映射,完成自助式頁面在IE上的體現(xiàn)。
針對后臺管理程序設(shè)計,采用管理員權(quán)限分職責(zé)的辦法。即將用戶名字段和leibie字段綁定,實現(xiàn)中心每個部門和系部都有且只有一個管理員賬戶;中心另外設(shè)定一個超級管理員賬戶,可以管理中心所有部門管理員賬戶。同時,為了提高網(wǎng)站的安全性能,后臺程序設(shè)計作出兩點安全措施:(1)針對管理員賬戶密碼,采用Md5方式加密,有效防止黑客通過入侵?jǐn)?shù)據(jù)庫服務(wù)器獲取管理員密碼。(2)后臺程序登陸成功后,實現(xiàn)管理員離開計算機又沒有關(guān)閉后臺管理頁面時,后臺管理頁面自動超時關(guān)閉。
易懂、通用自助式網(wǎng)站系統(tǒng)的開發(fā),著重于體現(xiàn)建站迅速、有限級擴展站點、對網(wǎng)站管理人員要求低的特點,有效提高了網(wǎng)站群中信息的信息資源利用率,實現(xiàn)了資源互補,同時節(jié)約了開發(fā)時間,減少了維護工作量。
圖1 OID關(guān)系表
[1]沈俊.高校網(wǎng)站群的建設(shè)和方案淺談[J].價值工程,2010(5):200-201.
[2]范江波.聚焦二級網(wǎng)站內(nèi)容管理[J].中國教育網(wǎng)絡(luò),2010(2):76-78.
[3]楊迎新,趙驥.基于ASP.NET架構(gòu)WEB應(yīng)用程序中數(shù)據(jù)加密的幾種方法[J].計算機安全,2009(10):54-56.