朱成 胡偉群
摘要:根據(jù)圖書館綜合門戶網(wǎng)站的建設(shè)需要,利用Visual Studio 2008和微軟SQL Server數(shù)據(jù)庫構(gòu)成一個完整的軟件開發(fā)環(huán)境,設(shè)計一個通用的圖書館門戶網(wǎng)站建設(shè)綜合管理系統(tǒng)軟件。為圖書館網(wǎng)站的建設(shè)提供完整的網(wǎng)站框架和網(wǎng)頁模板,圖書館網(wǎng)站管理員只需利用該綜合管理系統(tǒng)就可完成圖書館門戶網(wǎng)站資源和網(wǎng)頁的設(shè)計和建設(shè)。
關(guān)鍵詞:圖書館門戶網(wǎng)站;軟件;數(shù)據(jù)庫;綜合管理系統(tǒng)
中圖分類號:G250文獻標(biāo)識碼:A文章編號: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ā)展,圖書館網(wǎng)站是在網(wǎng)絡(luò)環(huán)境下為教學(xué)、管理和科研獲取文獻信息資源的重要渠道,是圖書館拓展服務(wù)的一種高效手段,是利用網(wǎng)絡(luò)和文獻資源的優(yōu)勢為用戶提供便捷的文獻信息服務(wù),成為讀者與圖書館直接交流和獲取服務(wù)的首選平臺。因此,圖書館門戶網(wǎng)站建設(shè)與管理工作直接關(guān)系到讀者利用館藏資源的效率[1]。圖書館網(wǎng)站都面臨大量的動態(tài)信息和網(wǎng)站欄目的更新問題。靜態(tài)網(wǎng)頁設(shè)計技術(shù)的采用將給技術(shù)部和網(wǎng)站管理員增添大量的工作,也不利于館內(nèi)信息的及時發(fā)布[2]。建設(shè)一個動態(tài)綜合管理系統(tǒng)平臺能實現(xiàn)圖書館門戶網(wǎng)站的快速建設(shè)和內(nèi)容的即時更新。通過該平臺的應(yīng)用,使圖書館能簡單、方便、快捷的完成網(wǎng)站的建設(shè),把更多的技術(shù)力量投入到電子資源建設(shè)方面。因此,圖書館網(wǎng)站的建設(shè)應(yīng)以統(tǒng)一的網(wǎng)絡(luò)管理平臺為基礎(chǔ)的建設(shè)方式進行建設(shè)與管理。實現(xiàn)系統(tǒng)的消息公告、資源更新、電子圖書、數(shù)據(jù)庫、參考咨詢和讀者推薦圖書等動態(tài)信息欄目即時更新。圖書館各部門就可以各司其職,分工合作共同維護和管理圖書館的網(wǎng)站[2]。
1系統(tǒng)設(shè)計
1.1設(shè)計目標(biāo)
為了滿足圖書館讀者的使用要求和門戶網(wǎng)站的建設(shè)需要,圖書館網(wǎng)站綜合管理系統(tǒng)為網(wǎng)頁和電子資源建設(shè)提供一個系統(tǒng)框架,方便管理員完成網(wǎng)站內(nèi)容的建設(shè),而將管理員的主要精力用于圖書情報和數(shù)字圖書館的建設(shè)和研究工作方面。管理系統(tǒng)應(yīng)用基于WEB的.NET技術(shù)和平臺開發(fā)一個管理方便、編程簡單、宜于擴充和升級的系統(tǒng)管理平臺[3]。管理系統(tǒng)設(shè)計的具體要求:網(wǎng)頁內(nèi)容的數(shù)據(jù)應(yīng)建立在統(tǒng)一的數(shù)據(jù)庫中,數(shù)據(jù)應(yīng)方便進行管理,網(wǎng)頁模版可選,實現(xiàn)網(wǎng)站網(wǎng)頁不同風(fēng)格的選擇,并可及時動態(tài)更新網(wǎng)頁;通過對系統(tǒng)管理員進行簡單培訓(xùn),管理員用瀏覽器以WEB方式完成對網(wǎng)頁內(nèi)容數(shù)據(jù)的日常管理更新工作;具有分配不同的用戶管理權(quán)限功能;實現(xiàn)網(wǎng)站動態(tài)修改欄目建設(shè),并具有管理權(quán)限內(nèi)網(wǎng)頁數(shù)據(jù)和信息錄入發(fā)布審核功能,網(wǎng)站更新的網(wǎng)頁內(nèi)容必須經(jīng)管理部門負責(zé)人審核后才能正式上網(wǎng)發(fā)布;提供數(shù)據(jù)備份功能,完成對數(shù)據(jù)的維護、導(dǎo)入與導(dǎo)出等。
系統(tǒng)主要功能??欤?)網(wǎng)站欄目管理;2)網(wǎng)站網(wǎng)頁模版管理;3)網(wǎng)頁編輯、發(fā)布和審核;4)網(wǎng)站數(shù)據(jù)庫平臺維護和管理;5)系統(tǒng)用戶管理;6)系統(tǒng)基本功能設(shè)置和管理;7)參考咨詢和在線交流聊天室功能。
1.2系統(tǒng)運行環(huán)境與開發(fā)工具
系統(tǒng)利用美國微軟公司提供的.NET平臺下基于ASP.NET應(yīng)用程序開發(fā)技術(shù),采用Visual Studio 2008作為管理系統(tǒng)程序開發(fā)環(huán)境。動態(tài)網(wǎng)頁程序采用C#和JavaScript多種腳本語言編寫實現(xiàn)。系統(tǒng)服務(wù)器操作系統(tǒng)使用Windows 2003 Server系統(tǒng),WEB信息服務(wù)采用為IIS6.0以上的.NET 2.0版本,后臺數(shù)據(jù)庫系統(tǒng)使用微軟公司的SQL Server 2003數(shù)據(jù)庫,
1.3系統(tǒng)功能與實現(xiàn)
系統(tǒng)管理系統(tǒng)采用ASP.NET的動態(tài)網(wǎng)頁設(shè)計技術(shù),管理員通過綜合管理系統(tǒng)實現(xiàn)網(wǎng)站各欄目和網(wǎng)頁數(shù)據(jù)和管理和更新,以B/S模式通過瀏覽器來完成。管理系統(tǒng)主要功能模塊如下:
1)系統(tǒng)基本功能參數(shù)設(shè)置:包括系統(tǒng)基礎(chǔ)信息設(shè)置、系統(tǒng)用戶使用日志和管理幫助等功能,可完成整個系統(tǒng)基礎(chǔ)參數(shù)管理。
2)系統(tǒng)用戶管理:系統(tǒng)超級用戶具有最高管理權(quán)限,具有添加、修改和刪除各種用戶,并分配給各種用戶相應(yīng)的管理權(quán)限,實現(xiàn)管理員的分級和分類管理欄目的操作功能。
3)系統(tǒng)欄目管理:具有創(chuàng)建多級網(wǎng)站的欄目功能,并可對添加、刪除和修改各欄目。從而實現(xiàn)各網(wǎng)站欄目的實時管理和維護。
4)網(wǎng)站模版管理:創(chuàng)建和管理網(wǎng)站網(wǎng)頁模版和風(fēng)格,可對網(wǎng)站模版和網(wǎng)頁風(fēng)格進行設(shè)置和修改等。從而實現(xiàn)網(wǎng)站和網(wǎng)頁的頁面風(fēng)格改變。
5)網(wǎng)站網(wǎng)頁和新聞內(nèi)容的發(fā)布管理:系統(tǒng)通過創(chuàng)建網(wǎng)站欄目,實現(xiàn)網(wǎng)頁欄目導(dǎo)航的動態(tài)生成。實現(xiàn)各欄目信息的發(fā)布、增加、修改、刪除等功能,管理員應(yīng)用系統(tǒng)提供的嵌入式編輯器完成信息數(shù)據(jù)的排版,系統(tǒng)具有文本、圖片和音視頻文件的上下載功能。應(yīng)用系統(tǒng)的嵌入式編輯器,管理員通過簡單的編輯操作完成各欄目網(wǎng)頁內(nèi)容的制作,根據(jù)系統(tǒng)預(yù)設(shè)的網(wǎng)頁模版自動生成各欄目網(wǎng)頁。通過網(wǎng)頁模板設(shè)置更換,可自動建設(shè)不同風(fēng)格的網(wǎng)頁。
6)數(shù)據(jù)庫數(shù)據(jù)管理:實現(xiàn)對系統(tǒng)數(shù)據(jù)庫的備份等功能。
7)在線交流聊天室功能:實現(xiàn)館內(nèi)管理員和讀者之間的在線交流和咨詢等功能。
2關(guān)鍵技術(shù)與程序的設(shè)計
2.1系統(tǒng)數(shù)據(jù)庫管理主要程序
圖書館門戶網(wǎng)站的后臺數(shù)據(jù)庫系統(tǒng)用來存儲和管理網(wǎng)站網(wǎng)頁信息數(shù)據(jù),實現(xiàn)數(shù)據(jù)統(tǒng)一存放,增加了網(wǎng)站數(shù)據(jù)的安全性。通過對管理系統(tǒng)的后臺數(shù)據(jù)庫數(shù)據(jù)的管理操作,網(wǎng)站的網(wǎng)頁根據(jù)系統(tǒng)欄目設(shè)置和網(wǎng)頁模版格式來自動生成。管理系統(tǒng)使用微軟SQL Server,利用類的形式來組織和封裝一些常用的方法和事件,來減少程序代碼的重復(fù)編寫。有利于程序原代碼的維護。本管理系統(tǒng)的數(shù)據(jù)庫操作采用類來編寫,程序主要函數(shù)代碼如下[4]:
1)數(shù)據(jù)庫連接主要代碼如下:
public SqlConnection GetConnection()
{
string dataStr = ConfigurationManager.AppSettings["ConnectionString"].ToString();
SqlConnection dataConn = new SqlConnection(dataStr);
return myConn;
}
2)執(zhí)行數(shù)據(jù)庫操作的SQL語句主要代碼如下:
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ù)庫操作中返回數(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è)計
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("用戶在線超時沒有任何操作,即將返回到主頁!")); 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("用戶在線超時沒有任何操作,即將返回到主頁!"));
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"]) + "說:
" + 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"]) + "說:" +
TextBox1.Text + " </font>「<font size=6>" + DateTime.Now.ToString() + "</font>」");
TextBox1.Text = "";
}
}
2.3系統(tǒng)安全管理與設(shè)計
系統(tǒng)管理員的管理賬號采用加密存儲管理,并采用增加隨機驗證碼的認(rèn)證方式,加強系統(tǒng)的用戶安全管理工作,管理員通過用戶密碼認(rèn)證后,在WEB瀏覽器上對網(wǎng)站信息資料進行管理操作,密碼管理采用集中加密存儲方式[5]。系統(tǒng)對不同的用戶設(shè)置相應(yīng)管理職權(quán)內(nèi)的操用權(quán)限,并存儲用戶的所有操作,建立完善的系統(tǒng)管理日志,從而保證網(wǎng)站內(nèi)容的數(shù)據(jù)安全和區(qū)分網(wǎng)頁信息發(fā)布的責(zé)任。
另外,在系統(tǒng)的安全性方面還采用了防范SQL注入式攻擊的設(shè)計,系統(tǒng)防范SQL注入式攻擊方法主要有兩種[6]:第一種是檢測用戶端提交的變量參數(shù),如果發(fā)現(xiàn)客戶端提交的參數(shù)中有用于SQL注入的常用字符時,系統(tǒng)自動停止執(zhí)行,并給出警告信息或跳轉(zhuǎn)到警告網(wǎng)頁;第二種是對系統(tǒng)管理用戶的信息進行加密,采用MD5進行加密處理。
系統(tǒng)中防止SQL注入式攻擊主要程序代碼[4]:1)系統(tǒng)管理用戶登錄驗證:
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)隨機驗證碼的實現(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é)束語
圖書館門戶網(wǎng)站綜合管理系統(tǒng)實現(xiàn)了網(wǎng)站建設(shè)管理靈活、操作簡單、方便維護、安全可靠和兼容性好等特點,可實現(xiàn)動態(tài)和實時地網(wǎng)站網(wǎng)頁內(nèi)容設(shè)計、發(fā)布和更新管理。圖書館網(wǎng)站管理員利用該系統(tǒng)可實現(xiàn)動態(tài)更新與維護網(wǎng)站的網(wǎng)頁建設(shè),系統(tǒng)操作簡單,具有強大的擴展性。管理系統(tǒng)的采用統(tǒng)一了圖書館門戶網(wǎng)站的建設(shè)平臺,可實現(xiàn)統(tǒng)一數(shù)據(jù)庫和統(tǒng)一誰認(rèn)證,提高了網(wǎng)站建設(shè)和管理效率,使網(wǎng)站內(nèi)容能夠即時更新,為廣大讀者提供更好的信息資源服務(wù)。
參考文獻:
[1]趙曉紅.高校圖書館網(wǎng)站的建設(shè)與維護管理[J].產(chǎn)業(yè)與科技論壇,2009,8(8):253-254.
[2]鄭婷婷,張羽.基于PHP的圖書館網(wǎng)站管理系統(tǒng)的設(shè)計與實現(xiàn)[J].現(xiàn)代圖書情報技術(shù),2005(8):80-83.
[3]朱成,劉成智,陳明.基于WEB的精品課程網(wǎng)站管理系統(tǒng)的設(shè)計[J].廣西工學(xué)院學(xué)報,2008,19(3):38-41.
[4]房大偉,蘇宇,貫偉紅.ASP.NET網(wǎng)絡(luò)開發(fā)實例自學(xué)手冊[M].北京:人民郵電出版社,2008.
[5]肖力.基于.NET的高校教務(wù)管理系統(tǒng)的設(shè)計與實現(xiàn)[J].電腦知識與技術(shù),2011,7(35):9157-9159.
[6]甘劍偉.基于ASP.NET技術(shù)的圖書館網(wǎng)站安全管理的隱患與對策[J].現(xiàn)代情報,2008(8):116-117.