郅芬香++王留芳
摘 要 在網絡技術飛速發展的今天,傳統的紙質辦公方式已經遠遠不能滿足時代發展的需求,OA的出現很好的解決了這樣的問題,它不僅能夠處理公司內部的事務性工作、輔助管理,還提高了辦公效率。其中,一個好的權限管理設計顯得尤為重要。
關鍵詞 身份驗證;權限設計;JSP
中圖分類號:TIll7 文獻標識碼:A 文章編號:1671-7597(2014)19-0035-01
企業將OA系統作為日常辦公的平臺以后,公司的大部分事務和流程都需要通過OA來辦理,安全性問題便隨之而來。OA辦公系統的安全涉及多個方面,典型包括的數據安全、硬件網絡的安全、身份認證安全等。它們之間相互關聯影響,如:身份認證安全出現問題,非法用戶的非法入侵系統導致數據的丟失和泄露,硬件的毀壞導致數據的損失,網絡不安全導致數據傳輸過程中的數據泄露。身份認證安全是指通過一系列的技術手段和相關的措施,確保用戶在登錄認證和應用中的安全性和合法性。本文的論述重點為系統的權限設計和實現,尋找一種有效的權限匹配算法,實現身份認證。
1 算法實現
1.1 使用工具
1) 操作系統采用WINDOWS平臺。
2) 數據庫管理系統采用SQLServer 2005。
3) WEB服務器采用Tomcat。
4) 程序設計采用JSP技術。
1.2 實現過程
1.2.1 算法的基本思想
OA中將權限分為模塊級權限和數據級權限,分別從橫向和縱向2個維度來控制用戶權限,以適應不同的情況。
模塊級權限主要控制模塊、菜單、操作等,比如人力資源、行政管理等模塊的顯示,以及查看、添加等操作按鈕的顯示;
數據級權限主要控制列表中數據的查看權限,分為全部、指定部門、本部門、個人4種。
1.2.2 數據庫設計
針對權限設計,數據庫中共用到6張表,分別是:模塊/權限表、職位表、用戶表、職位權限表、用戶權限表、用戶權限屏蔽表。
模塊/權限表包括模塊/權限編碼、模塊/權限名稱、模塊/權限值等;職位表包括職位名稱、所屬部門、管理范圍等;其中,管理范圍包括:個人、本部門、指定部門、全體;用戶表包括用戶名、密碼、職位等;職位權限表包括職位ID、權限ID;用戶權限表包括用戶ID、權限ID;例如,2個職位相同的用戶A和用戶B,對應的職位權限是相同的,當需要用戶A比用戶多“刪除”權限時,只需要在用戶權限屏蔽表中增加一條記錄,該記錄的值為:用戶A的ID、“刪除”權限的ID;用戶權限屏蔽表包括用戶ID、權限ID;與用戶權限表相反,當需要用戶A比用戶B少某項權限的時候,只需要在該表增加一條記錄,該記錄的值為:用戶A的ID、“刪除”權限的ID,即可。
1.2.3 程序設計
當用戶登錄OA時,需要先輸入用戶名、密碼、驗證碼等信息,系統獲取數據庫中是否存在與之匹配的用戶名和密碼,并且是否允許登錄;當驗證通過后,再判斷該用戶是否是第一次登錄,當第一次登錄時,提示必須修改初始密碼。否則,系統取出該用戶對應的相關權限值,并保存到session中,跳轉到OA主界面。
//獲取用戶輸入的用戶名、密碼等信息
String username=request.getParameter(“name”);
String password=request.getParameter(“pwd”);……
//查找數據庫中是否存在與之匹配的用戶信息
if(userID<0||!password.equals(password2)||ifLogin==0) return;
//驗證通過后,將用戶關鍵信息保存到服務器的session中,以便系統調用
session.setAttribute(“userID”, String.valueOf(userID));
session.setAttribute(“username “, username);
session.setAttribute(“permit”,permit);
session.setAttribute(“range”,String.valueOf(range));
//判斷用戶是否是第一次登錄
if(ifFirstLogin==1)
response.sendRedirect(“person/console/pass/setFirst.jsp”);
else
response.sendRedirect(“frame.jsp”);
進入OA系統以后,當用戶點擊某個操作按鈕時,需要判斷該用戶是否具有該按鈕的操作權限,系統首先通過調用session.getAttribute(“permit”)獲取該登錄用戶session中保存的permit值,然后調用permit.indexOf(“***”)!=-1來判斷該用戶是否具有操作該按鈕的權限,如果有該權限,則不提示;否則,提示“您無此權限!”。
if(!permit.indexOf(“***”)!=-1)
{
out.print(“”);
}
2 總結
論文提出的權限控制和算法,能夠有效控制用戶的非法登錄,以及對資源的訪問,實現了OA系統中的權限控制,目前該方法已經應用到所開發的OA辦公系統中,使用多年,取得了較好的成效。
參考文獻
[1]牛丹梅,丁一.OA系統中基于角色的安全訪問控制設計[J].信息安全,2009,25(7):59-61.
[2]徐江峰,劉恒強.基于角色和加密技術的訪問控制研究[J].微計算機信息,2008,1(3):36-38.
[3]陳建斌,劉文宏.辦公自動化系統中權限模型的設計[J].紡織高校基礎科學學報.2006,19(1):85-89.
[4]SANDHU R S.The Typed Access Matrix Model[R].Oakland,California:Proc IEEE Symposium on Research in Security and Privacy,1992.
作者簡介
郅芬香(1983-),女,漢族,河南鶴壁人,碩士,講師,主要研究領域:數據挖掘,CDN。endprint