陳立平 溫一軍
摘 要:隨著大數(shù)據(jù)、物聯(lián)網(wǎng)、人工智能、信息安全等信息技術的快速發(fā)展,各個高校的智慧校園建設的整體水平得到了很大的提升。而高校財務預算的信息化是智慧校園建設的重要組成部分,可以有效控制高校多個方面的費用支出、降低成本,提高國家財政撥款資金的使用效率。文章設計了基于智慧校園的預算管理系統(tǒng),該系統(tǒng)包括預算經費撥入、報銷支出、查詢和生成報表、基礎數(shù)據(jù)配置等模塊。并從安全的角度出發(fā)對應用軟件系統(tǒng)做了代碼優(yōu)化,提高系統(tǒng)安全性,有效防范SQL注入等網(wǎng)絡攻擊。該系統(tǒng)根據(jù)智慧校園服務總線的接口規(guī)范,實現(xiàn)了與智慧校園的統(tǒng)一認證,查詢系統(tǒng)接入移動端今日校園,為教職員工提供多方位的查詢服務。
關鍵詞:服務質量;智慧校園;預算管理;大平臺;單點登錄;信息安全
隨著大數(shù)據(jù)、物聯(lián)網(wǎng)等信息技術的快速應用,高校原先信息化建設中的軟件模式已經不能滿足工作需求和校園網(wǎng)環(huán)境,而以“大平臺、微應用”為設計理念的信息化系統(tǒng)成為很多高校信息化建設的主流產品,主要思想是在統(tǒng)一平臺的基礎上對已有的系統(tǒng)和數(shù)據(jù)進行整理和重構,以重移動輕PC的形式進行展現(xiàn),以碎片化的形式提供服務。
高校預算管理系統(tǒng)作為智慧校園信息化系統(tǒng)的重要組成部分,在大平臺的基礎上,進行大量的整合和優(yōu)化,提高了預算服務的質量和水平。
1 預算管理系統(tǒng)功能模塊
預算管理系統(tǒng)實現(xiàn)了學院各類項目經費的全程管理,通過報銷的數(shù)字化,學校管理人員可以查看整體經費使用情況,項目負責人可以查看個人預算項目經費余額以及使用詳情,財務人員可以實時查看每個項目的報銷額度,防止超過報銷余額,以及對預申請的項目進行資金凍結等。主要功能包括預算經費撥入、報銷支出、查詢和生成報表等。預算項目經費撥入模塊功能包括各類預算項目的定義,以及預算經費的撥入。預算撥入詳情模塊記錄每一筆預算經費撥入的詳細情況,包括撥入金額、下達日期等信息;報銷管理模塊對每個預算項目的報銷進行電子化管理,包括報銷時間、報銷人、摘要、金額、賬號等。其他功能模塊還包括支出詳情模塊、權限設置模塊及基礎數(shù)據(jù)配置模塊等[1]。
預算支出列表如圖1所示,報銷界面如圖2所示。
2 統(tǒng)一認證的設計
為更好地為師生服務,依據(jù)智慧校園項目方案的總體規(guī)劃,預算管理系統(tǒng)要實現(xiàn)統(tǒng)一認證。統(tǒng)一認證又稱為單點登錄(Single Sign On,SSO),是指在多系統(tǒng)應用群中登錄一個系統(tǒng),便可在其他所有系統(tǒng)中得到授權而無需再次登錄,包括單點登錄和單點注銷,是目前比較流行的企業(yè)業(yè)務整合的方案之一。
2.1 單點登錄的設計
在智慧校園統(tǒng)一認證體系中,有兩臺服務器專門用作獨立的認證服務,其中一臺Redis1是主備,另一臺Redis2是熱備。一般情況下是主備Redis1提供認證服務。只有認證服務能接受用戶的賬號、密碼等信息,預算系統(tǒng)不再提供登錄入口,只接受認證服務Redis的間接授權。認證服務驗證賬號密碼正確,則創(chuàng)建授權令牌,該令牌作為參數(shù)發(fā)送給預算管理系統(tǒng),預算管理系統(tǒng)拿到令牌,即得到授權,可以在授權的基礎上創(chuàng)建局部回話SESSION[2]。認證過程流程如圖3所示,認證過程序列如圖4所示。
2.2 單點注銷的設計
在預算管理系統(tǒng)中注銷系統(tǒng),所有參與統(tǒng)一認證的系統(tǒng)都會被注銷。注銷過程的序列如圖5所示。
對于預算管理系統(tǒng)的用戶來說,可以發(fā)起注銷請求。預算系統(tǒng)收到該請求后,根據(jù)會話ID得到令牌,向統(tǒng)一認證中心發(fā)起注銷請求。中心在收到注銷請求令牌后,銷毀全局會話,并向其他系統(tǒng)如圖5中的一卡通系統(tǒng)發(fā)起注銷請求,一卡通系統(tǒng)銷毀局部會話。認證中心返回用戶登錄界面[3]。
3 統(tǒng)一認證的實現(xiàn)
根據(jù)單點登錄中統(tǒng)一認證的流程,利用智慧校園平臺服務供應商提供的接口,通過C#語言實現(xiàn)了預算管理系統(tǒng)的統(tǒng)一身份認證。在預算管理系統(tǒng)中,接口攔截用戶登錄請求,重定位到統(tǒng)一認證頁面,用戶輸入用戶名和密碼,點擊登錄提交請求。統(tǒng)一認證中心將提交的用戶名和密碼跟用戶數(shù)據(jù)庫中的用戶名和密碼進行比對,如果比對一致,則校驗成功,將此次會話狀態(tài)標志為已登錄,通過Guid.NewGuid().ToString()創(chuàng)建一串全球唯一的字符串作為授權令牌回傳給預算系統(tǒng)。預算管理系統(tǒng)接口接收到該令牌后再提交給統(tǒng)一認證中心驗證,校驗該令牌是否過期,如果沒有過期,會將預算管理系統(tǒng)的URL地址以鍵值對的形式保存到Redis中,并設置有效期。預算管理系統(tǒng)在收到認證中心返回的令牌有效后,把會話ID和令牌綁定并保存,成功打開預算系統(tǒng)的主界面。
在VS2012開發(fā)環(huán)境中,首先要將平臺供應商提供的接口DLL拷貝到預算管理系統(tǒng)的bin目下,在項目中添加引用該動態(tài)庫。然后需要配置web.config,實現(xiàn)對登錄請求的攔截和重定向。
casServerLoginUrl=”統(tǒng)一認證URL” serverName=”預算管理系統(tǒng)URL”
notAuthorizedUrl=”~/NotAuthorized.aspx” cookiesRequiredUrl=”~/CookiesRequired.aspx”
redirectAfterValidation=”true” gateway=”false” renew=”false” singleSignOut=”true”
ticketTimeTolerance=”5000” ticketValidatorName=”Cas20”
serviceTicketManager=”CacheServiceTicketManager” gatewayStatusCookieName=”CasGatewayStatus”
基于.NET的Form認證的配置如下:
loginUrl=”統(tǒng)一認證URL” timeout=”30” defaultUrl=”預算管理系統(tǒng)URL”
cookieless=”UseCookies” slidingExpiration=”true” path=”/”
根據(jù)asp.net對HTTP請求處理過程可以得知,HttpModules是HTTP請求到達真正處理中心之前的必經之路,在web.Config中HttpModules的配置如下:
type=”DotNetCasClient.CasAuthenticationModule,DotNetCasClient” /> 其中name是Module的名稱,type是指定由哪個類來實現(xiàn),第一個參數(shù)表示類名稱,第二參數(shù)表示DLL名稱,即程序集名稱。 與統(tǒng)一認證相關的HttpModul常用事件如表1所示。 此外,還要對.Net自身的用戶會話數(shù)據(jù)Session進行配置,有4種mode模式:Off,InProc,StateServer及SqlServer,其中Off是關閉模式,不需要使用Session;InProc是Session直接存儲在IIS進程中,雖然獲取速度快,但易丟失;StateServer是Session存儲在單獨的內存緩沖區(qū)中,再由單獨一臺服務器上運行的Asp.net SateService來控制整個緩沖區(qū),不易丟失,但速度慢;SqlServer是Session存儲在Sqlserver數(shù)據(jù)庫中持久化保存。綜合多種因素考慮,本系統(tǒng)采用的是Inproc方式。 用戶在預算管理系統(tǒng)中點擊退出按鈕提交注銷請求,接口會攔截請求并統(tǒng)一認證中心發(fā)起注銷請求。認證中心收到該請求后,注銷全局會話,并通知所有上述保存在鍵值對中的系統(tǒng)注銷。除了統(tǒng)一認證注銷外,.Net本身也需要清除會話Session,并讓本地Cookie過期。 4 與平臺的對接 根據(jù)智慧校園建設方案的總體要求,在服務總線接口規(guī)范的基礎上,完成與大平臺的對接,預算系統(tǒng)成為服務大廳的一個應用APP。用戶登錄服務大廳后就可以直接查看和訪問預算管理系統(tǒng)。 首先,在統(tǒng)一身份認證管理系統(tǒng)中增加預算管理系統(tǒng)應用,使之成為可信任應用,應用名稱為預算管理系統(tǒng),應用URL為https://預算管理系統(tǒng)URL/**。并對該應用和目錄的訪問用戶和用戶組進行授權,包括授權開始時間、授權結束時間、允許訪問IP地址和拒絕訪問IP地址等。然后在服務大廳應用管理平臺管理中心創(chuàng)建預算管理系統(tǒng)應用APP,指定應用名稱和訪問URL,分配業(yè)務域,對用戶進行授權,授權后的用戶就可以在服務大廳看到預算管理系統(tǒng)的APP圖標,根據(jù)自己的身份和權限進行訪問。 智慧校園建設是一個長期而復雜的系統(tǒng)工程,需要領導的大力支持,進行架構的頂層設計;需要各業(yè)務部門的通力合作,梳理和規(guī)范業(yè)務流程;需要信息部門的技術保障,充分考慮大數(shù)據(jù)、人工智能等技術趨勢和安全性保障,同時也離不開一款優(yōu)秀的平臺軟件系統(tǒng)和簡單易用的應用軟件系統(tǒng)。 [參考文獻] [1]樊鐵成,蔣磊宏,蘇偉,等.高等學校智慧校園應用案例[M].北京:清華大學出版社,2017. [2]張劍橋.ASP.NETCore跨平臺開發(fā)從入門到實戰(zhàn)[M].北京:電子工業(yè)出版社,2017. [3]楊秋黎,金智.Windows網(wǎng)絡編程[M].北京:人民郵電出版社,2016. Abstract:With the rapid development of information technology such as big data, Internet of Things, artificial intelligence, information security, the overall level of the construction of smart campus in Colleges and universities has been greatly improved. The informatization of university financial budget is an important part of the construction of smart campus, which can effectively control the expenditure of various aspects of universities, reduce costs, and improve the efficiency of the use of state financial allocation funds. This paper designs the budget management system based on smart campus. The system includes budget allocation, reimbursement expenditure, query and report generation, basic data configuration and other modules. From the point of view of security, the application software system is optimized to improve system security and effectively prevent network attacks such as SQL injection. According to the interface specification of smart campus service bus, the system achieves the unified authentication with smart campus. The query system is connected to the mobile campus today and provides multi-directional query service for teachers and staff. Key words:quality of service; smart campus; budget management; large platform; single sign on; information security