張小艾
摘要:從對校園訂餐系統(tǒng)的需求出發(fā),結(jié)合學(xué)?,F(xiàn)有的信息化特色情況進(jìn)行需求分析,設(shè)計(jì)并實(shí)現(xiàn)了基于CAS認(rèn)證的B/S模式的高校食堂特色訂餐系統(tǒng),提高了用戶體驗(yàn)和管理效率。
關(guān)鍵詞:CAS;訂餐系統(tǒng)
中圖分類號:TP393? ? ? 文獻(xiàn)標(biāo)識碼:A? ? ? 文章編號:1009-3044(2018)35-0063-02
Abstract:Proceeding from the requirement of the system of ordering on campus,Combined with current campus information situation, the Campus restaurants reservation system on CAS was designed and developed. With it, user experience was enhanced and the management efficiency was improved.
Key words: CAS; restaurants reservation system
現(xiàn)在大多數(shù)高校的教工食堂仍然采用傳統(tǒng)的經(jīng)營模式,即教職工采用現(xiàn)場購買、當(dāng)場付費(fèi)的傳統(tǒng)形式。對食堂管理者來說,一方面有多少消費(fèi)者會(huì)來就餐在備餐前并不明確,備餐可能會(huì)出現(xiàn)不足或者準(zhǔn)備過量的情況;另一方面訂餐管理沒有條理,從而導(dǎo)致了較差的用戶體驗(yàn)和不必要的經(jīng)濟(jì)損失。
隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,網(wǎng)上訂餐也日漸普及,但要應(yīng)用到高校,在用戶管理方面也存在問題:一方面維護(hù)管理用戶信息需要一定的人力,另一方面用戶身份權(quán)限的正確性和實(shí)時(shí)性也無法得到保證。
結(jié)合本校已經(jīng)部署CAS統(tǒng)一認(rèn)證平臺(tái)的實(shí)際情況,我們考慮設(shè)計(jì)實(shí)現(xiàn)一個(gè)教職工餐廳網(wǎng)上訂餐系統(tǒng),系統(tǒng)使用CAS來獲取用戶信息,這樣能夠保障訂餐用戶的教職工身份,另一方面也解放了餐廳管理員用于維護(hù)系統(tǒng)用戶的工作量,同時(shí)能為后期的大數(shù)據(jù)分析提供數(shù)據(jù)來源,并消除訂餐系統(tǒng)的信息孤島問題。
該文設(shè)計(jì)的基于CAS的校園訂餐系統(tǒng)就是將傳統(tǒng)的校園餐廳服務(wù)搬到移動(dòng)互聯(lián)網(wǎng)上,并在系統(tǒng)里調(diào)用使用CAS認(rèn)證平臺(tái)管理的用戶信息。通過該系統(tǒng)可以讓教職工靈活訂餐,提高餐廳管理效率,并為高校大數(shù)據(jù)分析提供數(shù)據(jù)來源。
1 CAS認(rèn)證簡要介紹
CAS(center authertication service,即中心認(rèn)證服務(wù))主要是為了讓內(nèi)部的多個(gè)不同業(yè)務(wù)系統(tǒng)能協(xié)同工作并通過統(tǒng)一的身份認(rèn)證系統(tǒng)驗(yàn)證用戶合法性[1],通過CAS認(rèn)證的用戶將示意CAS認(rèn)證系統(tǒng)頒發(fā)的證書在CAS認(rèn)證范圍內(nèi)的各系統(tǒng)間自由訪問,不需要再次登錄[2]
從結(jié)構(gòu)上看,CAS包含兩個(gè)部分:CAS Server 和CAS Client需要獨(dú)立部署,主要負(fù)責(zé)對用戶的認(rèn)證工作;CAS? Client負(fù)責(zé)處理對客戶端受保護(hù)資源的訪問請求,需要登錄時(shí),重定向到CAS Server.
CAS最基本的協(xié)議過程如圖1所示:
總結(jié)一下,如下:
訪問服務(wù): SSO 客戶端發(fā)送請求訪問應(yīng)用系統(tǒng)提供的服務(wù)資源。
定向認(rèn)證: SSO 客戶端會(huì)重定向用戶請求到 SSO 服務(wù)器。
用戶認(rèn)證:用戶身份認(rèn)證。
發(fā)放票據(jù): SSO 服務(wù)器會(huì)產(chǎn)生一個(gè)隨機(jī)的 Service Ticket 。
驗(yàn)證票據(jù): SSO 服務(wù)器驗(yàn)證票據(jù) Service Ticket 的合法性,驗(yàn)證通過后,允許客戶端訪問服務(wù)。
傳輸用戶信息: SSO 服務(wù)器驗(yàn)證票據(jù)通過后,傳輸用戶認(rèn)證結(jié)果信息給客戶端。
2 系統(tǒng)任務(wù)概述
校園訂餐系統(tǒng)主要實(shí)現(xiàn)如下需求:
1) 管理人員使用管理后臺(tái)開放餐次,發(fā)布餐次對應(yīng)的菜單信息。
2) 教職工用戶登錄系統(tǒng)時(shí)通過CAS 接口返回的信息獲取到用戶身份信息,在線下單或取消訂單。
3) 管理人員統(tǒng)計(jì)當(dāng)日訂餐數(shù)量進(jìn)行備餐。
4) 管理人員隨時(shí)可統(tǒng)計(jì)某時(shí)間段具體某菜單的訂餐數(shù)量。
5) 使用CAS認(rèn)證平臺(tái)資源,將校園訂餐系統(tǒng)應(yīng)用授權(quán)給在校教職工,用戶信息直接采用CAS認(rèn)證返回的用戶信息。
3 系統(tǒng)框架設(shè)計(jì)
校園訂餐系統(tǒng)主要由三部分組成。
3.1CAS 交互部分
1) CAS SERVER服務(wù)器、CAS管理平臺(tái)。
2) CAS Client客戶端包,放在訂餐系統(tǒng)的web/bin 文件夾下。
3) CAS 認(rèn)證調(diào)用。在web.config文件中配置,系統(tǒng)涉及用戶信息的代碼里進(jìn)行修改[3]。
3.2 用戶模塊
提供用戶查詢、下單、取消訂單、對完成的訂單瀏覽查看操作。
3.3 管理員模塊
具體菜單數(shù)額限制、菜譜新增、刪除、編輯、編輯具體餐次的菜譜、對訂餐數(shù)據(jù)統(tǒng)計(jì)查詢、下單時(shí)間設(shè)置、菜單價(jià)格。
3.4 數(shù)據(jù)庫設(shè)計(jì)
該系統(tǒng)使用SQL SERVER2008數(shù)據(jù)庫,主要表單為餐品菜單表單、餐品表單、訂單信息表單、操作記錄表單。表結(jié)構(gòu)該文不做詳細(xì)介紹。
3.5 數(shù)據(jù)對接
該系統(tǒng)是位在校教職工網(wǎng)上訂餐開發(fā)的項(xiàng)目。使用了校園已經(jīng)建設(shè)完成的CAS認(rèn)證管理平臺(tái)。
Cas 接口的調(diào)用和數(shù)據(jù)獲取;訂餐支付與一卡通數(shù)據(jù)交互;采用預(yù)付方式,在系統(tǒng)里生成訂單時(shí)將包含用戶信息和訂單信息的數(shù)據(jù)實(shí)時(shí)推送給一卡通管理系統(tǒng),在用戶刷卡就餐時(shí)完成實(shí)際支付;在減少用戶信息維護(hù)的工作量的同時(shí),保證數(shù)據(jù)在準(zhǔn)確性和一致性。
4 系統(tǒng)主要功能模塊的設(shè)計(jì)
4.1 管理員模塊
如圖2所示,食堂管理員模塊實(shí)現(xiàn)如下功能:
1) 管理員可以登錄后臺(tái)訂餐系統(tǒng),修改管理員個(gè)人信息。
2) 管理員可以對校園訂餐系統(tǒng)上的菜單進(jìn)行增加、刪除、修改、發(fā)布具體餐次。
3) 管理員可以設(shè)置發(fā)布餐次的最晚下單或取消訂單時(shí)間。
4) 管理員可以查詢統(tǒng)計(jì)某時(shí)間段的訂餐情況,并將統(tǒng)計(jì)報(bào)表導(dǎo)出進(jìn)行后續(xù)處理。
4.2 用戶模塊
如圖3所示,用戶功能模塊實(shí)現(xiàn)如下功能:
1) 使用CAS統(tǒng)一平臺(tái)登錄。
2) 登錄后可瀏覽餐品信息。
3) 在指定時(shí)間內(nèi)訂購餐品。
4) 在指定時(shí)間內(nèi)取消訂單。
5) 可以查看歷史訂單信息。
5 系統(tǒng)具體實(shí)現(xiàn)
5.1CAS相關(guān)設(shè)置
5.1.1 在訂餐系統(tǒng)的配置文件web.config文件中,設(shè)置CAS
<casClientConfigcasServerLoginUrl="http://ids.wxit.edu.cn/authserver/login" casServerUrlPrefix="http://ids.wxit.edu.cn/authserver/" serverName="http://210.28.144.181" notAuthorizedUrl="~/NotAuthorized.aspx" cookiesRequiredUrl="~/CookiesRequired.aspx" redirectAfterValidation="true" gateway="false" renew="false" singleSignOut="true" ticketTimeTolerance="5000" ticketValidatorName="Cas20" proxyTicketManager="CacheProxyTicketManager" serviceTicketManager="CacheServiceTicketManager" gatewayStatusCookieName="CasGatewayStatus"/>
5.1.2 在系統(tǒng)系統(tǒng)登錄界面的代碼中,調(diào)用cas 認(rèn)證獲取返回的用戶信息
if (CasAuthentication.ServiceTicketManager != null)
{
HttpCookieticketCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
if (ticketCookie != null)
{
FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(ticketCookie.Value);
if (ticket != null)
{
CasAuthenticationTicket casTicket = CasAuthentication.ServiceTicketManager.GetTicket(ticket.UserData);
if (casTicket != null)
{zgh = casTicket.NetId;
5.1.3 在學(xué)校cas 認(rèn)證管理平臺(tái)授權(quán)校園訂餐系統(tǒng)、授權(quán)系統(tǒng)的有效用戶為在校教職工
5.2 系統(tǒng)其他實(shí)現(xiàn)細(xì)節(jié)與常見網(wǎng)上訂餐系統(tǒng)差異不大,該文不做詳細(xì)介紹
6 結(jié)束語
互聯(lián)網(wǎng)技術(shù)的發(fā)展給網(wǎng)上訂餐奠定了現(xiàn)實(shí)基礎(chǔ);但針對校園及周邊環(huán)境的訂餐管理系統(tǒng)基本還是空白。本項(xiàng)目的實(shí)施可算一個(gè)小的創(chuàng)新之舉。該文介紹了CAS認(rèn)證方式,以及在通過CAS認(rèn)證機(jī)制的校園訂餐系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn),通過在網(wǎng)上訂餐的經(jīng)營方式,節(jié)約了教職工排隊(duì)、用餐時(shí)間。提前訂餐也方便餐廳管理人員對備餐的掌控、避免不必要的浪費(fèi)。系統(tǒng)還存在需要改進(jìn)的地方,如界面設(shè)計(jì)不夠?qū)I(yè)、不能在線支付、并且訂單結(jié)構(gòu)比較單一,尚不適用于學(xué)生餐廳。需要進(jìn)一步完善和解決。
參考文獻(xiàn):
[1] 杜焱喆. 基于CAS的校園網(wǎng)單點(diǎn)登錄系統(tǒng)實(shí)現(xiàn)[J]. 電腦知識與技術(shù), 2015(5):74.
[2] 張劍. 基于CAS的高校單點(diǎn)登錄系統(tǒng)研究及設(shè)計(jì)[J]. 軟件導(dǎo)刊:教育技術(shù), 2015(7):60.
[3] 蘇星曄,徐方楠. 統(tǒng)一身份認(rèn)證技術(shù)研究[J]. 中國新通信, 2015(2):58.
[通聯(lián)編輯:謝媛