張小艾



摘要:從對校園訂餐系統的需求出發,結合學?,F有的信息化特色情況進行需求分析,設計并實現了基于CAS認證的B/S模式的高校食堂特色訂餐系統,提高了用戶體驗和管理效率。
關鍵詞:CAS;訂餐系統
中圖分類號:TP393? ? ? 文獻標識碼: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
現在大多數高校的教工食堂仍然采用傳統的經營模式,即教職工采用現場購買、當場付費的傳統形式。對食堂管理者來說,一方面有多少消費者會來就餐在備餐前并不明確,備餐可能會出現不足或者準備過量的情況;另一方面訂餐管理沒有條理,從而導致了較差的用戶體驗和不必要的經濟損失。
隨著網絡技術的發展,網上訂餐也日漸普及,但要應用到高校,在用戶管理方面也存在問題:一方面維護管理用戶信息需要一定的人力,另一方面用戶身份權限的正確性和實時性也無法得到保證。
結合本校已經部署CAS統一認證平臺的實際情況,我們考慮設計實現一個教職工餐廳網上訂餐系統,系統使用CAS來獲取用戶信息,這樣能夠保障訂餐用戶的教職工身份,另一方面也解放了餐廳管理員用于維護系統用戶的工作量,同時能為后期的大數據分析提供數據來源,并消除訂餐系統的信息孤島問題。
該文設計的基于CAS的校園訂餐系統就是將傳統的校園餐廳服務搬到移動互聯網上,并在系統里調用使用CAS認證平臺管理的用戶信息。通過該系統可以讓教職工靈活訂餐,提高餐廳管理效率,并為高校大數據分析提供數據來源。
1 CAS認證簡要介紹
CAS(center authertication service,即中心認證服務)主要是為了讓內部的多個不同業務系統能協同工作并通過統一的身份認證系統驗證用戶合法性[1],通過CAS認證的用戶將示意CAS認證系統頒發的證書在CAS認證范圍內的各系統間自由訪問,不需要再次登錄[2]
從結構上看,CAS包含兩個部分:CAS Server 和CAS Client需要獨立部署,主要負責對用戶的認證工作;CAS? Client負責處理對客戶端受保護資源的訪問請求,需要登錄時,重定向到CAS Server.
CAS最基本的協議過程如圖1所示:
總結一下,如下:
訪問服務: SSO 客戶端發送請求訪問應用系統提供的服務資源。
定向認證: SSO 客戶端會重定向用戶請求到 SSO 服務器。
用戶認證:用戶身份認證。
發放票據: SSO 服務器會產生一個隨機的 Service Ticket 。
驗證票據: SSO 服務器驗證票據 Service Ticket 的合法性,驗證通過后,允許客戶端訪問服務。
傳輸用戶信息: SSO 服務器驗證票據通過后,傳輸用戶認證結果信息給客戶端。
2 系統任務概述
校園訂餐系統主要實現如下需求:
1) 管理人員使用管理后臺開放餐次,發布餐次對應的菜單信息。
2) 教職工用戶登錄系統時通過CAS 接口返回的信息獲取到用戶身份信息,在線下單或取消訂單。
3) 管理人員統計當日訂餐數量進行備餐。
4) 管理人員隨時可統計某時間段具體某菜單的訂餐數量。
5) 使用CAS認證平臺資源,將校園訂餐系統應用授權給在校教職工,用戶信息直接采用CAS認證返回的用戶信息。
3 系統框架設計
校園訂餐系統主要由三部分組成。
3.1CAS 交互部分
1) CAS SERVER服務器、CAS管理平臺。
2) CAS Client客戶端包,放在訂餐系統的web/bin 文件夾下。
3) CAS 認證調用。在web.config文件中配置,系統涉及用戶信息的代碼里進行修改[3]。
3.2 用戶模塊
提供用戶查詢、下單、取消訂單、對完成的訂單瀏覽查看操作。
3.3 管理員模塊
具體菜單數額限制、菜譜新增、刪除、編輯、編輯具體餐次的菜譜、對訂餐數據統計查詢、下單時間設置、菜單價格。
3.4 數據庫設計
該系統使用SQL SERVER2008數據庫,主要表單為餐品菜單表單、餐品表單、訂單信息表單、操作記錄表單。表結構該文不做詳細介紹。
3.5 數據對接
該系統是位在校教職工網上訂餐開發的項目。使用了校園已經建設完成的CAS認證管理平臺。
Cas 接口的調用和數據獲取;訂餐支付與一卡通數據交互;采用預付方式,在系統里生成訂單時將包含用戶信息和訂單信息的數據實時推送給一卡通管理系統,在用戶刷卡就餐時完成實際支付;在減少用戶信息維護的工作量的同時,保證數據在準確性和一致性。
4 系統主要功能模塊的設計
4.1 管理員模塊
如圖2所示,食堂管理員模塊實現如下功能:
1) 管理員可以登錄后臺訂餐系統,修改管理員個人信息。
2) 管理員可以對校園訂餐系統上的菜單進行增加、刪除、修改、發布具體餐次。
3) 管理員可以設置發布餐次的最晚下單或取消訂單時間。
4) 管理員可以查詢統計某時間段的訂餐情況,并將統計報表導出進行后續處理。
4.2 用戶模塊
如圖3所示,用戶功能模塊實現如下功能:
1) 使用CAS統一平臺登錄。
2) 登錄后可瀏覽餐品信息。
3) 在指定時間內訂購餐品。
4) 在指定時間內取消訂單。
5) 可以查看歷史訂單信息。
5 系統具體實現
5.1CAS相關設置
5.1.1 在訂餐系統的配置文件web.config文件中,設置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 在系統系統登錄界面的代碼中,調用cas 認證獲取返回的用戶信息
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 在學校cas 認證管理平臺授權校園訂餐系統、授權系統的有效用戶為在校教職工
5.2 系統其他實現細節與常見網上訂餐系統差異不大,該文不做詳細介紹
6 結束語
互聯網技術的發展給網上訂餐奠定了現實基礎;但針對校園及周邊環境的訂餐管理系統基本還是空白。本項目的實施可算一個小的創新之舉。該文介紹了CAS認證方式,以及在通過CAS認證機制的校園訂餐系統的設計與實現,通過在網上訂餐的經營方式,節約了教職工排隊、用餐時間。提前訂餐也方便餐廳管理人員對備餐的掌控、避免不必要的浪費。系統還存在需要改進的地方,如界面設計不夠專業、不能在線支付、并且訂單結構比較單一,尚不適用于學生餐廳。需要進一步完善和解決。
參考文獻:
[1] 杜焱喆. 基于CAS的校園網單點登錄系統實現[J]. 電腦知識與技術, 2015(5):74.
[2] 張劍. 基于CAS的高校單點登錄系統研究及設計[J]. 軟件導刊:教育技術, 2015(7):60.
[3] 蘇星曄,徐方楠. 統一身份認證技術研究[J]. 中國新通信, 2015(2):58.
[通聯編輯:謝媛