陳立平 溫一軍
摘 要:隨著大數(shù)據(jù)、物聯(lián)網(wǎng)、人工智能、信息安全等信息技術(shù)的快速發(fā)展,各個(gè)高校的智慧校園建設(shè)的整體水平得到了很大的提升。而高校財(cái)務(wù)預(yù)算的信息化是智慧校園建設(shè)的重要組成部分,可以有效控制高校多個(gè)方面的費(fèi)用支出、降低成本,提高國(guó)家財(cái)政撥款資金的使用效率。文章設(shè)計(jì)了基于智慧校園的預(yù)算管理系統(tǒng),該系統(tǒng)包括預(yù)算經(jīng)費(fèi)撥入、報(bào)銷支出、查詢和生成報(bào)表、基礎(chǔ)數(shù)據(jù)配置等模塊。并從安全的角度出發(fā)對(duì)應(yīng)用軟件系統(tǒng)做了代碼優(yōu)化,提高系統(tǒng)安全性,有效防范SQL注入等網(wǎng)絡(luò)攻擊。該系統(tǒng)根據(jù)智慧校園服務(wù)總線的接口規(guī)范,實(shí)現(xiàn)了與智慧校園的統(tǒng)一認(rèn)證,查詢系統(tǒng)接入移動(dòng)端今日校園,為教職員工提供多方位的查詢服務(wù)。
關(guān)鍵詞:服務(wù)質(zhì)量;智慧校園;預(yù)算管理;大平臺(tái);單點(diǎn)登錄;信息安全
隨著大數(shù)據(jù)、物聯(lián)網(wǎng)等信息技術(shù)的快速應(yīng)用,高校原先信息化建設(shè)中的軟件模式已經(jīng)不能滿足工作需求和校園網(wǎng)環(huán)境,而以“大平臺(tái)、微應(yīng)用”為設(shè)計(jì)理念的信息化系統(tǒng)成為很多高校信息化建設(shè)的主流產(chǎn)品,主要思想是在統(tǒng)一平臺(tái)的基礎(chǔ)上對(duì)已有的系統(tǒng)和數(shù)據(jù)進(jìn)行整理和重構(gòu),以重移動(dòng)輕PC的形式進(jìn)行展現(xiàn),以碎片化的形式提供服務(wù)。
高校預(yù)算管理系統(tǒng)作為智慧校園信息化系統(tǒng)的重要組成部分,在大平臺(tái)的基礎(chǔ)上,進(jìn)行大量的整合和優(yōu)化,提高了預(yù)算服務(wù)的質(zhì)量和水平。
1 預(yù)算管理系統(tǒng)功能模塊
預(yù)算管理系統(tǒng)實(shí)現(xiàn)了學(xué)院各類項(xiàng)目經(jīng)費(fèi)的全程管理,通過(guò)報(bào)銷的數(shù)字化,學(xué)校管理人員可以查看整體經(jīng)費(fèi)使用情況,項(xiàng)目負(fù)責(zé)人可以查看個(gè)人預(yù)算項(xiàng)目經(jīng)費(fèi)余額以及使用詳情,財(cái)務(wù)人員可以實(shí)時(shí)查看每個(gè)項(xiàng)目的報(bào)銷額度,防止超過(guò)報(bào)銷余額,以及對(duì)預(yù)申請(qǐng)的項(xiàng)目進(jìn)行資金凍結(jié)等。主要功能包括預(yù)算經(jīng)費(fèi)撥入、報(bào)銷支出、查詢和生成報(bào)表等。預(yù)算項(xiàng)目經(jīng)費(fèi)撥入模塊功能包括各類預(yù)算項(xiàng)目的定義,以及預(yù)算經(jīng)費(fèi)的撥入。預(yù)算撥入詳情模塊記錄每一筆預(yù)算經(jīng)費(fèi)撥入的詳細(xì)情況,包括撥入金額、下達(dá)日期等信息;報(bào)銷管理模塊對(duì)每個(gè)預(yù)算項(xiàng)目的報(bào)銷進(jìn)行電子化管理,包括報(bào)銷時(shí)間、報(bào)銷人、摘要、金額、賬號(hào)等。其他功能模塊還包括支出詳情模塊、權(quán)限設(shè)置模塊及基礎(chǔ)數(shù)據(jù)配置模塊等[1]。
預(yù)算支出列表如圖1所示,報(bào)銷界面如圖2所示。
2 統(tǒng)一認(rèn)證的設(shè)計(jì)
為更好地為師生服務(wù),依據(jù)智慧校園項(xiàng)目方案的總體規(guī)劃,預(yù)算管理系統(tǒng)要實(shí)現(xiàn)統(tǒng)一認(rèn)證。統(tǒng)一認(rèn)證又稱為單點(diǎn)登錄(Single Sign On,SSO),是指在多系統(tǒng)應(yīng)用群中登錄一個(gè)系統(tǒng),便可在其他所有系統(tǒng)中得到授權(quán)而無(wú)需再次登錄,包括單點(diǎn)登錄和單點(diǎn)注銷,是目前比較流行的企業(yè)業(yè)務(wù)整合的方案之一。
2.1 單點(diǎn)登錄的設(shè)計(jì)
在智慧校園統(tǒng)一認(rèn)證體系中,有兩臺(tái)服務(wù)器專門用作獨(dú)立的認(rèn)證服務(wù),其中一臺(tái)Redis1是主備,另一臺(tái)Redis2是熱備。一般情況下是主備Redis1提供認(rèn)證服務(wù)。只有認(rèn)證服務(wù)能接受用戶的賬號(hào)、密碼等信息,預(yù)算系統(tǒng)不再提供登錄入口,只接受認(rèn)證服務(wù)Redis的間接授權(quán)。認(rèn)證服務(wù)驗(yàn)證賬號(hào)密碼正確,則創(chuàng)建授權(quán)令牌,該令牌作為參數(shù)發(fā)送給預(yù)算管理系統(tǒng),預(yù)算管理系統(tǒng)拿到令牌,即得到授權(quán),可以在授權(quán)的基礎(chǔ)上創(chuàng)建局部回話SESSION[2]。認(rèn)證過(guò)程流程如圖3所示,認(rèn)證過(guò)程序列如圖4所示。
2.2 單點(diǎn)注銷的設(shè)計(jì)
在預(yù)算管理系統(tǒng)中注銷系統(tǒng),所有參與統(tǒng)一認(rèn)證的系統(tǒng)都會(huì)被注銷。注銷過(guò)程的序列如圖5所示。
對(duì)于預(yù)算管理系統(tǒng)的用戶來(lái)說(shuō),可以發(fā)起注銷請(qǐng)求。預(yù)算系統(tǒng)收到該請(qǐng)求后,根據(jù)會(huì)話ID得到令牌,向統(tǒng)一認(rèn)證中心發(fā)起注銷請(qǐng)求。中心在收到注銷請(qǐng)求令牌后,銷毀全局會(huì)話,并向其他系統(tǒng)如圖5中的一卡通系統(tǒng)發(fā)起注銷請(qǐng)求,一卡通系統(tǒng)銷毀局部會(huì)話。認(rèn)證中心返回用戶登錄界面[3]。
3 統(tǒng)一認(rèn)證的實(shí)現(xiàn)
根據(jù)單點(diǎn)登錄中統(tǒng)一認(rèn)證的流程,利用智慧校園平臺(tái)服務(wù)供應(yīng)商提供的接口,通過(guò)C#語(yǔ)言實(shí)現(xiàn)了預(yù)算管理系統(tǒng)的統(tǒng)一身份認(rèn)證。在預(yù)算管理系統(tǒng)中,接口攔截用戶登錄請(qǐng)求,重定位到統(tǒng)一認(rèn)證頁(yè)面,用戶輸入用戶名和密碼,點(diǎn)擊登錄提交請(qǐng)求。統(tǒng)一認(rèn)證中心將提交的用戶名和密碼跟用戶數(shù)據(jù)庫(kù)中的用戶名和密碼進(jìn)行比對(duì),如果比對(duì)一致,則校驗(yàn)成功,將此次會(huì)話狀態(tài)標(biāo)志為已登錄,通過(guò)Guid.NewGuid().ToString()創(chuàng)建一串全球唯一的字符串作為授權(quán)令牌回傳給預(yù)算系統(tǒng)。預(yù)算管理系統(tǒng)接口接收到該令牌后再提交給統(tǒng)一認(rèn)證中心驗(yàn)證,校驗(yàn)該令牌是否過(guò)期,如果沒(méi)有過(guò)期,會(huì)將預(yù)算管理系統(tǒng)的URL地址以鍵值對(duì)的形式保存到Redis中,并設(shè)置有效期。預(yù)算管理系統(tǒng)在收到認(rèn)證中心返回的令牌有效后,把會(huì)話ID和令牌綁定并保存,成功打開(kāi)預(yù)算系統(tǒng)的主界面。
在VS2012開(kāi)發(fā)環(huán)境中,首先要將平臺(tái)供應(yīng)商提供的接口DLL拷貝到預(yù)算管理系統(tǒng)的bin目下,在項(xiàng)目中添加引用該動(dòng)態(tài)庫(kù)。然后需要配置web.config,實(shí)現(xiàn)對(duì)登錄請(qǐng)求的攔截和重定向。
casServerLoginUrl=”統(tǒng)一認(rèn)證URL” serverName=”預(yù)算管理系統(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認(rèn)證的配置如下:
loginUrl=”統(tǒng)一認(rèn)證URL” timeout=”30” defaultUrl=”預(yù)算管理系統(tǒng)URL”
cookieless=”UseCookies” slidingExpiration=”true” path=”/”
根據(jù)asp.net對(duì)HTTP請(qǐng)求處理過(guò)程可以得知,HttpModules是HTTP請(qǐng)求到達(dá)真正處理中心之前的必經(jīng)之路,在web.Config中HttpModules的配置如下:
type=”DotNetCasClient.CasAuthenticationModule,DotNetCasClient” /> 其中name是Module的名稱,type是指定由哪個(gè)類來(lái)實(shí)現(xiàn),第一個(gè)參數(shù)表示類名稱,第二參數(shù)表示DLL名稱,即程序集名稱。 與統(tǒng)一認(rèn)證相關(guān)的HttpModul常用事件如表1所示。 此外,還要對(duì).Net自身的用戶會(huì)話數(shù)據(jù)Session進(jìn)行配置,有4種mode模式:Off,InProc,StateServer及SqlServer,其中Off是關(guān)閉模式,不需要使用Session;InProc是Session直接存儲(chǔ)在IIS進(jìn)程中,雖然獲取速度快,但易丟失;StateServer是Session存儲(chǔ)在單獨(dú)的內(nèi)存緩沖區(qū)中,再由單獨(dú)一臺(tái)服務(wù)器上運(yùn)行的Asp.net SateService來(lái)控制整個(gè)緩沖區(qū),不易丟失,但速度慢;SqlServer是Session存儲(chǔ)在Sqlserver數(shù)據(jù)庫(kù)中持久化保存。綜合多種因素考慮,本系統(tǒng)采用的是Inproc方式。 用戶在預(yù)算管理系統(tǒng)中點(diǎn)擊退出按鈕提交注銷請(qǐng)求,接口會(huì)攔截請(qǐng)求并統(tǒng)一認(rèn)證中心發(fā)起注銷請(qǐng)求。認(rèn)證中心收到該請(qǐng)求后,注銷全局會(huì)話,并通知所有上述保存在鍵值對(duì)中的系統(tǒng)注銷。除了統(tǒng)一認(rèn)證注銷外,.Net本身也需要清除會(huì)話Session,并讓本地Cookie過(guò)期。 4 與平臺(tái)的對(duì)接 根據(jù)智慧校園建設(shè)方案的總體要求,在服務(wù)總線接口規(guī)范的基礎(chǔ)上,完成與大平臺(tái)的對(duì)接,預(yù)算系統(tǒng)成為服務(wù)大廳的一個(gè)應(yīng)用APP。用戶登錄服務(wù)大廳后就可以直接查看和訪問(wèn)預(yù)算管理系統(tǒng)。 首先,在統(tǒng)一身份認(rèn)證管理系統(tǒng)中增加預(yù)算管理系統(tǒng)應(yīng)用,使之成為可信任應(yīng)用,應(yīng)用名稱為預(yù)算管理系統(tǒng),應(yīng)用URL為https://預(yù)算管理系統(tǒng)URL/**。并對(duì)該應(yīng)用和目錄的訪問(wèn)用戶和用戶組進(jìn)行授權(quán),包括授權(quán)開(kāi)始時(shí)間、授權(quán)結(jié)束時(shí)間、允許訪問(wèn)IP地址和拒絕訪問(wèn)IP地址等。然后在服務(wù)大廳應(yīng)用管理平臺(tái)管理中心創(chuàng)建預(yù)算管理系統(tǒng)應(yīng)用APP,指定應(yīng)用名稱和訪問(wèn)URL,分配業(yè)務(wù)域,對(duì)用戶進(jìn)行授權(quán),授權(quán)后的用戶就可以在服務(wù)大廳看到預(yù)算管理系統(tǒng)的APP圖標(biāo),根據(jù)自己的身份和權(quán)限進(jìn)行訪問(wèn)。 智慧校園建設(shè)是一個(gè)長(zhǎng)期而復(fù)雜的系統(tǒng)工程,需要領(lǐng)導(dǎo)的大力支持,進(jìn)行架構(gòu)的頂層設(shè)計(jì);需要各業(yè)務(wù)部門的通力合作,梳理和規(guī)范業(yè)務(wù)流程;需要信息部門的技術(shù)保障,充分考慮大數(shù)據(jù)、人工智能等技術(shù)趨勢(shì)和安全性保障,同時(shí)也離不開(kāi)一款優(yōu)秀的平臺(tái)軟件系統(tǒng)和簡(jiǎn)單易用的應(yīng)用軟件系統(tǒng)。 [參考文獻(xiàn)] [1]樊鐵成,蔣磊宏,蘇偉,等.高等學(xué)校智慧校園應(yīng)用案例[M].北京:清華大學(xué)出版社,2017. [2]張劍橋.ASP.NETCore跨平臺(tái)開(kāi)發(fā)從入門到實(shí)戰(zhàn)[M].北京:電子工業(yè)出版社,2017. [3]楊秋黎,金智.Windows網(wǎng)絡(luò)編程[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