前言
2010年為公司設計的一套新的權限系統,目前已經運用到多個大型企業項目上。共分為基礎數據配置工具和權限管理兩部分。
章節
- 系統架構
- 系統的特點
- 權限的主數據
- 權限資源
- 權限分配、權限系統維護工具
- 權限分配的二次開發
- 訪問權限服務
系統架構
系統的特點
- 系統使用.NET平台4.0,C# 語言開發
- 采用Oracle 10g、SQL Server、SQLite數據庫進行數據持久化
- 權限系統是一個可以為多個第三方系統提供權限服務的通用權限系統
- 系統通過開放式服務(webService )方式對外提供接口,供外部來訪問權限對象
- 功能上支持操作權限和數據權限的授權
- 授權方式多樣性,擁有多級授權和自定義授權
- 權限管理時,可通過系統配置來滿足不同的需求
- 系統擁有導入、導出功能,部署方便
- 通過權限服務提供的接口,可對權限進行二次開發和功能擴展,方便的嵌入到第三方的系統中
權限的主數據
- 系統標識:是指區分使用權限服務來消費權限的各個系統的標識。
- 權限資源包括:功能定義、操作功能定義,數據權限定義。
- 角色:是權限資源的集合體。
- 用戶:是權限系統的最終消費系統內的用戶。
- 權限分配:是指將維護好的權限資源分配到每個賬戶上。
權限資源
- 功能訪問權限:是指擁有菜單的權限。菜單為樹形結構,可調整菜單的層級和順序。
- 操作點權限 :是指菜單的操作點,可定義N個操作點。操作代碼的定義與權限的使用者為約定關系。通過操作代碼來判斷是否擁有該菜單某個功能的操作權限。
- 數據可視權限:是指菜單的數據權限,菜單可定義N類數據權限。數據類別代碼的定義與權限的使用者為約定關系。通過數據類別代碼來獲取該菜單的數據權限。
權限分配
- 權限分配:是指將維護好的權限資源 分配到每個賬戶上。權限可基於角色對用戶進行授權,並且可以進行多級授權;同時支持對單個賬戶進行自定義授權。
- 權限角色:是權限系統的一個權限資源集合體。擁有角色的賬戶就擁有該角色的權限資源。
- 賬戶:是權限系統的消費對象。管理員可以創建賬戶和分配其他賬戶的權限,以此實現多級授權。
- 授權方式:通過給賬戶分配角色,繼承角色權限,還可以自定義賬戶權限細節。還能通過用戶權限和角色權限的復制功能,滿足快速的權限分配。
權限系統維護工具
權限資源配置工具:執行安裝包,安裝配置工具客戶端。安裝好后的客戶端為windows程序,采用的c/s模式。安裝時可以根據用戶選擇來創建程序運行的快捷方式位置。修改安裝后配置工具目錄下的配置文件中的權限數據庫連接地址來連接正確的權限數據庫。運行權限資源配置工具客戶端程序,登錄時可選擇登錄到哪個系統進行權限資源的配置。 權限資源可以導入、導出,方便快速部署和移植。
權限分配的二次開發
權限管理網站,包含權限授權及管理全功能。
Silverlight開發的授權功能,MES框架集成權限服務。
權限系統是基於WebService來公開服務的,進行權限分配功能的二次開發時不限開發語言和開發平台,因此可以很好的嵌入到第三方平台內。目前基於windows平台用Json(JavaScript Object Notation)和Miscrosoft Silverlight 4.0 前端技術,分別對權限的功能進行了開發,已在項目中應用。
訪問權限服務
-
通過發布的WebService服務訪問。
在安裝完權限系統后,可通過下面的WebService服務地址訪問權限服務
http://安裝權限系統的服務器IP地址/Infotech.Permission.Services/Interface/ProfileService.asmx
-
通過SDK訪問權限服務。
項目添加Infotech.Permission.Client.Sl.dll, Infotech.Connector.Sl.dll的引用,即可訪問權限服務,具體使用方法參考"通用權限SDK文檔"。
