OA系統分有許多的模塊,如系統管理模塊、等一些比較高級的業務操作。此類業務是不允許讓普通員工來操作的,思路如下:
給系統添加角色表,每個用戶對應一個角色,每個角色可以擁有多個權限,
如下:創建權限表(PRIVILEGE):

該表定義了權限操作的名稱以及可操作的action路徑,權限還定義了其下的二級子權限。
通過表中列的設計大致可以看出我前台關於對應權限操作的標簽應是從該表中的NAME列來進行取值(進一步動態渲染成用戶可以看到的標簽來)的。
創建值為與角色相關聯的表(sys_position_privilege):

如上:定義了3號經歷的權限是(部門管理)
在該用戶登錄的時候將該用戶的信息保存到session中,

該信息中包括了其對應的所有角色信息的集合。
關於前台的解決方案是:
重寫OGNL標簽在標簽輸出的時候,讀取該用戶的角色和權限信息,渲染出對應權限范圍的功能標簽:


