朱成 胡偉群
摘要:根據(jù)圖書(shū)館綜合門(mén)戶網(wǎng)站的建設(shè)需要,利用Visual Studio 2008和微軟SQL Server數(shù)據(jù)庫(kù)構(gòu)成一個(gè)完整的軟件開(kāi)發(fā)環(huán)境,設(shè)計(jì)一個(gè)通用的圖書(shū)館門(mén)戶網(wǎng)站建設(shè)綜合管理系統(tǒng)軟件。為圖書(shū)館網(wǎng)站的建設(shè)提供完整的網(wǎng)站框架和網(wǎng)頁(yè)模板,圖書(shū)館網(wǎng)站管理員只需利用該綜合管理系統(tǒng)就可完成圖書(shū)館門(mén)戶網(wǎng)站資源和網(wǎng)頁(yè)的設(shè)計(jì)和建設(shè)。
關(guān)鍵詞:圖書(shū)館門(mén)戶網(wǎng)站;軟件;數(shù)據(jù)庫(kù);綜合管理系統(tǒng)
中圖分類號(hào):G250文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1009-3044(2012)15-3510-04
An Integrated Library Portal Website Management System Development and Application
ZHU Cheng, HU Wei-qun
(Guilin Medical College, Guilin 541004, China)
Abstract: According to the library s website construction needs, using Visual Studio 2008 and Microsoft SQL Server databases constitute a complete software development environment, the design of a generic library portal website construction of comprehensive management sys tem software. For the construction of library websites provide a complete website and webpage template framework, library website admin istrator simply by using the synthetic management system can complete the library portal website and webpage design and construction.
Key words: library portal website ; software; database; integrated management system
隨著網(wǎng)絡(luò)技術(shù)的快速發(fā)展,圖書(shū)館網(wǎng)站是在網(wǎng)絡(luò)環(huán)境下為教學(xué)、管理和科研獲取文獻(xiàn)信息資源的重要渠道,是圖書(shū)館拓展服務(wù)的一種高效手段,是利用網(wǎng)絡(luò)和文獻(xiàn)資源的優(yōu)勢(shì)為用戶提供便捷的文獻(xiàn)信息服務(wù),成為讀者與圖書(shū)館直接交流和獲取服務(wù)的首選平臺(tái)。因此,圖書(shū)館門(mén)戶網(wǎng)站建設(shè)與管理工作直接關(guān)系到讀者利用館藏資源的效率[1]。圖書(shū)館網(wǎng)站都面臨大量的動(dòng)態(tài)信息和網(wǎng)站欄目的更新問(wèn)題。靜態(tài)網(wǎng)頁(yè)設(shè)計(jì)技術(shù)的采用將給技術(shù)部和網(wǎng)站管理員增添大量的工作,也不利于館內(nèi)信息的及時(shí)發(fā)布[2]。建設(shè)一個(gè)動(dòng)態(tài)綜合管理系統(tǒng)平臺(tái)能實(shí)現(xiàn)圖書(shū)館門(mén)戶網(wǎng)站的快速建設(shè)和內(nèi)容的即時(shí)更新。通過(guò)該平臺(tái)的應(yīng)用,使圖書(shū)館能簡(jiǎn)單、方便、快捷的完成網(wǎng)站的建設(shè),把更多的技術(shù)力量投入到電子資源建設(shè)方面。因此,圖書(shū)館網(wǎng)站的建設(shè)應(yīng)以統(tǒng)一的網(wǎng)絡(luò)管理平臺(tái)為基礎(chǔ)的建設(shè)方式進(jìn)行建設(shè)與管理。實(shí)現(xiàn)系統(tǒng)的消息公告、資源更新、電子圖書(shū)、數(shù)據(jù)庫(kù)、參考咨詢和讀者推薦圖書(shū)等動(dòng)態(tài)信息欄目即時(shí)更新。圖書(shū)館各部門(mén)就可以各司其職,分工合作共同維護(hù)和管理圖書(shū)館的網(wǎng)站[2]。
1系統(tǒng)設(shè)計(jì)
1.1設(shè)計(jì)目標(biāo)
為了滿足圖書(shū)館讀者的使用要求和門(mén)戶網(wǎng)站的建設(shè)需要,圖書(shū)館網(wǎng)站綜合管理系統(tǒng)為網(wǎng)頁(yè)和電子資源建設(shè)提供一個(gè)系統(tǒng)框架,方便管理員完成網(wǎng)站內(nèi)容的建設(shè),而將管理員的主要精力用于圖書(shū)情報(bào)和數(shù)字圖書(shū)館的建設(shè)和研究工作方面。管理系統(tǒng)應(yīng)用基于WEB的.NET技術(shù)和平臺(tái)開(kāi)發(fā)一個(gè)管理方便、編程簡(jiǎn)單、宜于擴(kuò)充和升級(jí)的系統(tǒng)管理平臺(tái)[3]。管理系統(tǒng)設(shè)計(jì)的具體要求:網(wǎng)頁(yè)內(nèi)容的數(shù)據(jù)應(yīng)建立在統(tǒng)一的數(shù)據(jù)庫(kù)中,數(shù)據(jù)應(yīng)方便進(jìn)行管理,網(wǎng)頁(yè)模版可選,實(shí)現(xiàn)網(wǎng)站網(wǎng)頁(yè)不同風(fēng)格的選擇,并可及時(shí)動(dòng)態(tài)更新網(wǎng)頁(yè);通過(guò)對(duì)系統(tǒng)管理員進(jìn)行簡(jiǎn)單培訓(xùn),管理員用瀏覽器以WEB方式完成對(duì)網(wǎng)頁(yè)內(nèi)容數(shù)據(jù)的日常管理更新工作;具有分配不同的用戶管理權(quán)限功能;實(shí)現(xiàn)網(wǎng)站動(dòng)態(tài)修改欄目建設(shè),并具有管理權(quán)限內(nèi)網(wǎng)頁(yè)數(shù)據(jù)和信息錄入發(fā)布審核功能,網(wǎng)站更新的網(wǎng)頁(yè)內(nèi)容必須經(jīng)管理部門(mén)負(fù)責(zé)人審核后才能正式上網(wǎng)發(fā)布;提供數(shù)據(jù)備份功能,完成對(duì)數(shù)據(jù)的維護(hù)、導(dǎo)入與導(dǎo)出等。
系統(tǒng)主要功能??欤?)網(wǎng)站欄目管理;2)網(wǎng)站網(wǎng)頁(yè)模版管理;3)網(wǎng)頁(yè)編輯、發(fā)布和審核;4)網(wǎng)站數(shù)據(jù)庫(kù)平臺(tái)維護(hù)和管理;5)系統(tǒng)用戶管理;6)系統(tǒng)基本功能設(shè)置和管理;7)參考咨詢和在線交流聊天室功能。
1.2系統(tǒng)運(yùn)行環(huán)境與開(kāi)發(fā)工具
系統(tǒng)利用美國(guó)微軟公司提供的.NET平臺(tái)下基于ASP.NET應(yīng)用程序開(kāi)發(fā)技術(shù),采用Visual Studio 2008作為管理系統(tǒng)程序開(kāi)發(fā)環(huán)境。動(dòng)態(tài)網(wǎng)頁(yè)程序采用C#和JavaScript多種腳本語(yǔ)言編寫(xiě)實(shí)現(xiàn)。系統(tǒng)服務(wù)器操作系統(tǒng)使用Windows 2003 Server系統(tǒng),WEB信息服務(wù)采用為IIS6.0以上的.NET 2.0版本,后臺(tái)數(shù)據(jù)庫(kù)系統(tǒng)使用微軟公司的SQL Server 2003數(shù)據(jù)庫(kù),
1.3系統(tǒng)功能與實(shí)現(xiàn)
系統(tǒng)管理系統(tǒng)采用ASP.NET的動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)技術(shù),管理員通過(guò)綜合管理系統(tǒng)實(shí)現(xiàn)網(wǎng)站各欄目和網(wǎng)頁(yè)數(shù)據(jù)和管理和更新,以B/S模式通過(guò)瀏覽器來(lái)完成。管理系統(tǒng)主要功能模塊如下:
1)系統(tǒng)基本功能參數(shù)設(shè)置:包括系統(tǒng)基礎(chǔ)信息設(shè)置、系統(tǒng)用戶使用日志和管理幫助等功能,可完成整個(gè)系統(tǒng)基礎(chǔ)參數(shù)管理。
2)系統(tǒng)用戶管理:系統(tǒng)超級(jí)用戶具有最高管理權(quán)限,具有添加、修改和刪除各種用戶,并分配給各種用戶相應(yīng)的管理權(quán)限,實(shí)現(xiàn)管理員的分級(jí)和分類管理欄目的操作功能。
3)系統(tǒng)欄目管理:具有創(chuàng)建多級(jí)網(wǎng)站的欄目功能,并可對(duì)添加、刪除和修改各欄目。從而實(shí)現(xiàn)各網(wǎng)站欄目的實(shí)時(shí)管理和維護(hù)。
4)網(wǎng)站模版管理:創(chuàng)建和管理網(wǎng)站網(wǎng)頁(yè)模版和風(fēng)格,可對(duì)網(wǎng)站模版和網(wǎng)頁(yè)風(fēng)格進(jìn)行設(shè)置和修改等。從而實(shí)現(xiàn)網(wǎng)站和網(wǎng)頁(yè)的頁(yè)面風(fēng)格改變。
5)網(wǎng)站網(wǎng)頁(yè)和新聞內(nèi)容的發(fā)布管理:系統(tǒng)通過(guò)創(chuàng)建網(wǎng)站欄目,實(shí)現(xiàn)網(wǎng)頁(yè)欄目導(dǎo)航的動(dòng)態(tài)生成。實(shí)現(xiàn)各欄目信息的發(fā)布、增加、修改、刪除等功能,管理員應(yīng)用系統(tǒng)提供的嵌入式編輯器完成信息數(shù)據(jù)的排版,系統(tǒng)具有文本、圖片和音視頻文件的上下載功能。應(yīng)用系統(tǒng)的嵌入式編輯器,管理員通過(guò)簡(jiǎn)單的編輯操作完成各欄目網(wǎng)頁(yè)內(nèi)容的制作,根據(jù)系統(tǒng)預(yù)設(shè)的網(wǎng)頁(yè)模版自動(dòng)生成各欄目網(wǎng)頁(yè)。通過(guò)網(wǎng)頁(yè)模板設(shè)置更換,可自動(dòng)建設(shè)不同風(fēng)格的網(wǎng)頁(yè)。
6)數(shù)據(jù)庫(kù)數(shù)據(jù)管理:實(shí)現(xiàn)對(duì)系統(tǒng)數(shù)據(jù)庫(kù)的備份等功能。
7)在線交流聊天室功能:實(shí)現(xiàn)館內(nèi)管理員和讀者之間的在線交流和咨詢等功能。
2關(guān)鍵技術(shù)與程序的設(shè)計(jì)
2.1系統(tǒng)數(shù)據(jù)庫(kù)管理主要程序
圖書(shū)館門(mén)戶網(wǎng)站的后臺(tái)數(shù)據(jù)庫(kù)系統(tǒng)用來(lái)存儲(chǔ)和管理網(wǎng)站網(wǎng)頁(yè)信息數(shù)據(jù),實(shí)現(xiàn)數(shù)據(jù)統(tǒng)一存放,增加了網(wǎng)站數(shù)據(jù)的安全性。通過(guò)對(duì)管理系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)數(shù)據(jù)的管理操作,網(wǎng)站的網(wǎng)頁(yè)根據(jù)系統(tǒng)欄目設(shè)置和網(wǎng)頁(yè)模版格式來(lái)自動(dòng)生成。管理系統(tǒng)使用微軟SQL Server,利用類的形式來(lái)組織和封裝一些常用的方法和事件,來(lái)減少程序代碼的重復(fù)編寫(xiě)。有利于程序原代碼的維護(hù)。本管理系統(tǒng)的數(shù)據(jù)庫(kù)操作采用類來(lái)編寫(xiě),程序主要函數(shù)代碼如下[4]:
1)數(shù)據(jù)庫(kù)連接主要代碼如下:
public SqlConnection GetConnection()
{
string dataStr = ConfigurationManager.AppSettings["ConnectionString"].ToString();
SqlConnection dataConn = new SqlConnection(dataStr);
return myConn;
}
2)執(zhí)行數(shù)據(jù)庫(kù)操作的SQL語(yǔ)句主要代碼如下:
public Boolean ExecSQL(string sqlStr)
{
SqlConnection dataConn = GetConnection();
dataConn.Open();
SqlCommand dataCmd = new SqlCommand(sqlStr, dataConn);
try
{
dataCmd.ExecuteNonQuery(); dataConn.Close();
}
catch
{
dataConn.Close(); return false;
}
return true;
}
3)數(shù)據(jù)庫(kù)操作中返回?cái)?shù)據(jù)源數(shù)據(jù)集的主要代碼如下:
public System.Data.DataSet GetDataSet(string sqlStr, string TableName)
{
SqlConnection dataConn =GetConnection();
dataConn.Open();
SqlDataAdapter adapt = new SqlDataAdapter(sqlStr, dataConn);
DataSet ds = new DataSet();
adapt.Fill(ds, TableName);
dataConn.Close();
return ds;
}
2.2網(wǎng)站在線聊天室的關(guān)鍵程序設(shè)計(jì)
1)判斷用戶是否在線的程序代碼:
public partial class communion_chatShow : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ BaseClass bbsc = new BaseClass();
if (Session["loginName"] == string.Empty)
{
Response.Write(bbsc.MessageBox("用戶在線超時(shí)沒(méi)有任何操作,即將返回到主頁(yè)!")); Response.Redirect("../Index.aspx");
}
Response.Write(Application["chatMsg"]);
}
}
2)發(fā)送聊天信息的程序代碼:
public partial class communion_sendMsg : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
BaseClass bbsc = new BaseClass();
if (Session["loginName"] == string.Empty)
{
Response.Write(bbsc.MessageBox("用戶在線超時(shí)沒(méi)有任何操作,即將返回到主頁(yè)!"));
Response.Redirect("../Index.aspx");
}
}
protected void btnSendMsg_Click(object sender, EventArgs e)
{
if (TextBox1.Text == string.Empty) return;
Application.Set("chatMsg", "<font size=8>" + Application["chatMsg"] + "
" + Convert.ToString(Session["loginName"]) + "說(shuō):
" + TextBox1.Text + " </font>「<font size=6>" + DateTime.Now.ToString() + "</font>」");
}
protected void TextBox1_Load(object sender, EventArgs e)
{
if (TextBox1.Text == string.Empty) return;
Application.Set("chatMsg","<font size=8>"+Application["chatMsg"]+"
"+ Convert.ToString(Session["loginName"]) + "說(shuō):" +
TextBox1.Text + " </font>「<font size=6>" + DateTime.Now.ToString() + "</font>」");
TextBox1.Text = "";
}
}
2.3系統(tǒng)安全管理與設(shè)計(jì)
系統(tǒng)管理員的管理賬號(hào)采用加密存儲(chǔ)管理,并采用增加隨機(jī)驗(yàn)證碼的認(rèn)證方式,加強(qiáng)系統(tǒng)的用戶安全管理工作,管理員通過(guò)用戶密碼認(rèn)證后,在WEB瀏覽器上對(duì)網(wǎng)站信息資料進(jìn)行管理操作,密碼管理采用集中加密存儲(chǔ)方式[5]。系統(tǒng)對(duì)不同的用戶設(shè)置相應(yīng)管理職權(quán)內(nèi)的操用權(quán)限,并存儲(chǔ)用戶的所有操作,建立完善的系統(tǒng)管理日志,從而保證網(wǎng)站內(nèi)容的數(shù)據(jù)安全和區(qū)分網(wǎng)頁(yè)信息發(fā)布的責(zé)任。
另外,在系統(tǒng)的安全性方面還采用了防范SQL注入式攻擊的設(shè)計(jì),系統(tǒng)防范SQL注入式攻擊方法主要有兩種[6]:第一種是檢測(cè)用戶端提交的變量參數(shù),如果發(fā)現(xiàn)客戶端提交的參數(shù)中有用于SQL注入的常用字符時(shí),系統(tǒng)自動(dòng)停止執(zhí)行,并給出警告信息或跳轉(zhuǎn)到警告網(wǎng)頁(yè);第二種是對(duì)系統(tǒng)管理用戶的信息進(jìn)行加密,采用MD5進(jìn)行加密處理。
系統(tǒng)中防止SQL注入式攻擊主要程序代碼[4]:1)系統(tǒng)管理用戶登錄驗(yàn)證:
public int checkLogin(string loginName, string loginPwd)
{
SqlConnection dataConn = GetConnection();
SqlCommand dataCmd = new SqlCommand("select count(*) from tb_User where Name=@loginName and PassWord=@loginPwd", dataConn);
dataCmd.Parameters.Add(new SqlParameter("@loginName", SqlDbType.VarChar, 20)); dataCmd.Parameters["@loginName"].Value = loginName;
dataCmd.Parameters.Add(new SqlParameter("@loginPwd", SqlDbType.VarChar, 50));
dataCmd.Parameters["@loginPwd"].Value = loginPwd;
dataConn.Open();
int i = (int)dataCmd.ExecuteScalar();
dataCmd.Dispose();
dataConn.Close();
return i;
}
2)隨機(jī)驗(yàn)證碼的實(shí)現(xiàn)
public string RandomNum(int n) //
{
String strchar = "0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,
W,X,Y,Z,a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z";
string[] VcArray = strchar.Split(,);
string VNum = "";
int temp = -1;
Random rand = new Random();
for (int i = 1; i < n + 1; i++)
{
if (temp != -1)
{
rand = new Random(i * temp * unchecked((int)DateTime.Now.Ticks));
}
int t = rand.Next(61);
if (temp != -1 && temp == t)
{ return RandomNum(n);
}
temp = t;
VNum += VcArray[t];
}
return VNum;
}
3結(jié)束語(yǔ)
圖書(shū)館門(mén)戶網(wǎng)站綜合管理系統(tǒng)實(shí)現(xiàn)了網(wǎng)站建設(shè)管理靈活、操作簡(jiǎn)單、方便維護(hù)、安全可靠和兼容性好等特點(diǎn),可實(shí)現(xiàn)動(dòng)態(tài)和實(shí)時(shí)地網(wǎng)站網(wǎng)頁(yè)內(nèi)容設(shè)計(jì)、發(fā)布和更新管理。圖書(shū)館網(wǎng)站管理員利用該系統(tǒng)可實(shí)現(xiàn)動(dòng)態(tài)更新與維護(hù)網(wǎng)站的網(wǎng)頁(yè)建設(shè),系統(tǒng)操作簡(jiǎn)單,具有強(qiáng)大的擴(kuò)展性。管理系統(tǒng)的采用統(tǒng)一了圖書(shū)館門(mén)戶網(wǎng)站的建設(shè)平臺(tái),可實(shí)現(xiàn)統(tǒng)一數(shù)據(jù)庫(kù)和統(tǒng)一誰(shuí)認(rèn)證,提高了網(wǎng)站建設(shè)和管理效率,使網(wǎng)站內(nèi)容能夠即時(shí)更新,為廣大讀者提供更好的信息資源服務(wù)。
參考文獻(xiàn):
[1]趙曉紅.高校圖書(shū)館網(wǎng)站的建設(shè)與維護(hù)管理[J].產(chǎn)業(yè)與科技論壇,2009,8(8):253-254.
[2]鄭婷婷,張羽.基于PHP的圖書(shū)館網(wǎng)站管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代圖書(shū)情報(bào)技術(shù),2005(8):80-83.
[3]朱成,劉成智,陳明.基于WEB的精品課程網(wǎng)站管理系統(tǒng)的設(shè)計(jì)[J].廣西工學(xué)院學(xué)報(bào),2008,19(3):38-41.
[4]房大偉,蘇宇,貫偉紅.ASP.NET網(wǎng)絡(luò)開(kāi)發(fā)實(shí)例自學(xué)手冊(cè)[M].北京:人民郵電出版社,2008.
[5]肖力.基于.NET的高校教務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識(shí)與技術(shù),2011,7(35):9157-9159.
[6]甘劍偉.基于ASP.NET技術(shù)的圖書(shū)館網(wǎng)站安全管理的隱患與對(duì)策[J].現(xiàn)代情報(bào),2008(8):116-117.