權限管理系統的重要特性總結:
1) 高度集成的權限系統、獨立模塊,能快速整合使用。
2) 符合權限的國際通用標准,基於RBAC(基於角色的訪問控制)的角色權限控制。
3) 多數據庫架構支 持,內置支持SqlServer、Oracle、MySql、SQLite、Access數據庫。
4) 用戶管理基於分級管理理念 ,集團分子公司、事業單位處室/局級可獨立管理人員/角色等數據。
5) 用戶接入的各種應用系統, 均可實現用戶登陸日志、操作日志的記錄。
6) 管理員可以控制登陸用戶的黑白名單列表,實現嚴格 的登陸控制管理。
7) 權限系統也是基於《Winform開發框架》的成熟架構,穩定高效、更易使用和 理解。
8) 權限管理系統文檔齊全、完善的應用支持和集成項目經驗,開發項目更有保證。
權限管理系統說明:
《Winform開發框架》、《WCF開發框架》和《混合式開發 框架》三個框架是我們經過多年的項目積累,吸收眾多框架產品客戶的寶貴意見,反復提煉優化而成的 。在這幾款開發框架中,我都應用到了一個《通用的權限管理系統》(簡稱權限管理系統),這個作為 一個獨立的系統模塊,但又可以整合到所有的框架產品和項目中,實現快速的權限管理和控制。
權限 的分配和管理,基本上是每個業務系統需要考慮的東西,而這些常用的東西,在整個開發框架中,把它 作為一個獨立的模塊,既方便維護管理,也留有接口很容易進行集成,這樣能夠在項目中反復進行使用 。
權限管理系統主要的功能包括有:用戶管理、組織機構管理、功能管理、角色管理和權限分配管理 、菜單管理、系統類型管理、登錄日志管理、操作日志管理、系統黑白名單管理等功能模塊。對於每新 增一個系統,我們只需要在權限管理系統中增加一個系統類型定義,以及相關的功能、菜單數據即可, 非常方便管理。
一、用戶管理
1、用戶登陸
在權限管理系統登錄界面輸入賬號和密碼後(默認賬號admin,密碼為空),即可進入權限管理系統 的主界面,權限管理系統主要的功能包括有:用戶管理、組織機構管理、功能管理、角色管理和權限分 配管理、菜單管理、系統類型管理、登錄日志管理、操作日志管理、系統黑白名單管理等功能模塊。
2、用戶分級管理
權限管理系統的用戶管理是基於分級管理理念,集團分子公司、事業單位處室/局級可獨立管理人員/ 角色等信息。
系統分了兩級管理員用戶:超級管理員和公司管理員。超級管理員可以管理整個集團或 者整個系統的人員和相關信息(包括組織機構、角色、登陸日志、操作日志等信息的分級);公司管理 員可以管理分子公司、事業單位處室/局級這樣的組織機構的人員和相關信息。
分級管理組織機構、 角色、用戶等相關數據,能夠減少管理員的相關工作,提高工作效率,並能增強權限管理系統對權限的 控制和資源分配等管理,提高用戶的認同感。
3、新建/編輯用戶
在系統用戶信息模塊裡面,可以在組織機構樹右鍵“新建”或者“新建”按鈕 上,觸發彈出新建用戶的操作,如下界面所示。
在新建用戶的界面上,輸入必須的用戶名、真實姓名 、所屬公司、默認機構/部門等信息,其他信息可選輸入。用戶的所屬機構、所屬角色、可操作功能,在 後面的介紹操作中進行分配管理,新建用戶不需要管理這些信息。
在用戶基本信息界面裡面,用戶“所屬公司”,是一個下拉的樹形列表,裡面按照組織機 構的分級進行展示公司信息,如下所示。
“默認機構/部門”是根據用戶選擇的“所屬公司”進行過濾的,根據用戶選 擇所屬公司,列出該公司下的所有組織機構樹形列表供選擇,如下所示。
編輯用戶界面和新建用戶界面顯示,在界面上顯示已經錄入的用戶信息和用戶的關系信息,包括所屬 機構、所屬角色、可操作功能等。
4、用戶導入
為了快速錄入系統用戶信息,權限管理系統提供Excel的數據批量導入操作,如下所示。
在用戶管理列表的“導入”操作按鈕中觸發,彈出一個通用的Excel數據導入界面,裡 面指定了導入數據的“Excel模板”,用戶根據模板字段列輸入相關的信息,然後通過 “浏覽”按鈕觸發數據的顯示,如果確認無誤,即可進行“保存數據”的操作。
5、用戶導出
權限系統的用戶數據,也可以通過“導出”按鈕進行用戶數據的導出操作,如下所示。
6、用戶查詢
用戶的查詢,可以通過按組織機構查看、按角色查看和根據查詢條件查詢,前兩者通過樹形列表,方 便用戶快速查詢用戶,由於用戶是分級管理,因此不同的公司管理員,看到的組織機構和角色數據有所 不同,他們可以管理自己管轄內的用戶數據。
1) 按組織機構查詢
2) 按角色查詢
3) 根據查詢條件查詢
二、組織機構管理
1、組織機構列表
權限管理系統中的組織機構列表,是一個層級的樹形列表,基本的節點可以分為集團、公司、部門和 工作組這幾個級別,在組織機構樹中選擇機構後,界面中間及右邊區域會顯示詳細的組織機構信息和相 關數據。
2、新建/編輯組織機構
新建組織機構,可以在左邊的樹形列表上的右鍵菜單上操作,也可以在頂部的“添加”按 鈕上進行操作。新建組織機構信息,處在同一個界面裡面,用戶輸入相關數據保存即可。
3、包含用戶管理
組織機構可以通過“包含用戶”的方式,把系統其他部門的用戶納入到該部門管理范疇中 ,這樣,如果分配給該部門的權限,自動會授權給這些包含進來的用戶,實現用戶權限的累加管理。
單擊“包含用戶 ”界面的“添加”按鈕,彈出一個“選擇人員”的對話框,對話框界面裡的 用戶數據是根據部門和角色進行分類的,用戶可以在左邊的樹列表中快速查看指定范疇內的用戶數據, 右邊的列表中有勾選項目,勾選後單擊“添加選擇”即可添加到底部的用戶選擇區域,也可 以在選擇區域裡面刪除指定用戶選擇,界面如下所示。
三、角色管理
角色是權限系統管理裡面最為重要的部分,整個系統符合權限的國際通用標准,基於RBAC(基於角色 的訪問控制)的角色權限控制,這樣和權限相關的信息,都是通過角色進行關聯,因此角色還需要管理 和用戶之間的關系、和組織機構之間的關系、和可操作功能之間的關系等等。
1、角色基礎信息管理
2、包含機構管理
3、包含用戶管理
和組織機構包含用戶功能一樣,彈出選擇用戶對話框,選擇對應的用戶列表信息。
4、可操作功能
四、系統類型定義
系統類型定義,是用作區分一個業務應用系統的標識,權限系統支持多個業務應用系統的繼承,雖然 默認是一個,但是可以根據需要進行擴充,使得權限管理系統管理的范疇更大,實現所有業務系統共享 一個權限管理系統的布局。
1、系統類型列表
2、新建/編輯系統類型
五、功能管理
功能管理,是業務應用系統的權限控制最小單元,可以用作控制系統的按鈕、菜單等界面元素,也可 以用作控制顯示或隱藏的某些字段的操作。
1、功能列表
2、新建/編輯功能
為了方便一次性添加多個功能 單元,可以通過“批量添加”操作進行功能的批量添加,批量添加界面如下所示。
3、可操作角色
六、菜單管理
1、菜單列表
一般Winform程序中,菜單都是直接寫在主程序中的,這樣對於經常性修改和維護菜單的相關信息, 可能有所不便,而且對於插件化的系統應用,新增菜單是常見的事情,這樣就需要對菜單進行動態配置 管理了,通過後台菜單的配置和權限的指定,能夠實現菜單的動態加載和權限驗證。
因此菜單也是權 限分配的一部分,為了有效管理菜單資源,我們把菜單放到權限管理系統中進行管理控制,可根據用戶 權限進行動態控制顯示。
設定好菜單的圖標和Winform窗體類型,就能在Winform框架中動態構建菜單信息了。菜單的圖表放置 在系統的相對目錄下即可。
2、新建/編輯菜單
新建或者編輯的菜單界面如下所示,除了需要輸入“顯示名稱”外,還需要選擇“ 上級菜單”,如果菜單需要進行權限控制,那麼在“功能控件ID”輸入需要的控制鍵即 可,如下紅色框選部分。
菜單的“上級菜單”是一個下拉的樹狀列表,方便顯示層次關系並進行選擇。
七、系統黑白名單
在一般的權限系統裡面,可能經常會看到系統的黑名單或者白名單的攔截功能。在一般 權限系統裡 面,常見的黑名單就是禁止用戶在某些IP上登錄系統,白名單就是允許用戶只在某些IP上登錄系統。本 隨筆主要介紹在我的權限系統裡面,如何實現這個黑白名單的功能,以及介紹在其中應用到的IP對比操 作,IP段判斷等操作代碼。
1、黑白名單列表
要完成黑名單的攔截和白名單的放行,我們需要進行名單的配置操作,我們把相關的配置放到列表裡 面進行展示,可以添加多個黑名單或者白名單,如下界面所示。
2、新建/編輯黑白名單
可以在黑白名單列表上單擊“新建”按鈕進行添加一條記錄,或者在已有記錄上雙擊黑白 名單可以進行編輯,界面如下所示。
通過“添加用戶”按鈕,在彈出的選擇人員界面中,指定黑白名單的人員列表即可。
3、系統登錄攔截效果
八、用戶登陸日志
1、登陸日志列表
九、用戶操作日志
在很多業務系統裡面,數據是很敏感的,特別對於一些增加、修改、刪除等關鍵的操作,如果能在框 架層面的支持基礎上,以最少的代碼實現重要表的日志記錄,那麼是一件非常值得慶賀的事情,也能夠 為我們客戶的數據提供重要的日志跟蹤,甚至是數據恢復的參考。
通過權限管理系統的支持和 《Winform開發框架》的底層支持,業務系統模塊,只需要通過一行代碼就能實現業務表的日志記錄,這 對我們開發新的業務模塊,效率可以提高很多,同時也能給客戶提供更好的數據支持服務。通過在權限 系統模塊裡面配置參數和顯示操作日志記錄,能夠給業務開發提供基礎性的開發框架支持。
1、用戶操作日志列表
2、操作日志的參數設置
在操作日志的參數配置列表裡面,我們可以添加一些業務表操作日志配置,然後通過在開發時刻,一 行代碼指定記錄日志操作,即可實現操作日志的記錄。
3、查看詳細操作日志
1) 修改記錄的操作日志
2) 增加記錄的操作日志
查看本欄目
十、系統集成管理
1、項目中集成權限系統登陸
實現代碼就是調用該程序集的接口API啟動權限系統的登陸界面,如下所示。
2、項目中集成權限控制
1)系統登陸及權限獲取
2)項目權限控制
十一、提供基於多種數據庫的整合
權限系統和其他框架一樣,提供基於多種數據庫(SqlServer/Oracle/MySql/SQLite/Access等數據庫 )的整合支持。雖然我們在實際項目中,一般采用一種數據庫進行處理,但是不同的項目,采用的數據庫 類型可能不同,本Winform開發框架為了方便演示和擴展的需要,內置支持了SqlServer/Oracle/MySql/ SQLite /Access,更多的數據庫,也可以通過擴展數據庫訪問基類的方式進行更多數據庫的支持。
整個權限管理系統的數據庫訪問,能夠手動配置數據庫類型,對於同一種數據庫,也可以把數據存儲 分開存儲,如業務數據存儲在一個數據庫,權限管理控制存儲在另外一個數據庫這種方式。
伍華聰 http://www.iqidi.com