WPF通用框架 数据库结构
前言
由於技術轉型, 目前大部分工作都是WPF為主, 但是趨於如今想在網絡上找一套能夠滿意的WPF權限管理框架太難, 因為WinForm那時候是有一套改寫過的權限框架,
所以數據庫設計這塊已經有了一個成熟的設計,至於WPF客戶端這塊,技術選型也基本確定:MVVM模式, Entity,界面層的UI就使用開源的MaterialDesign組件。
DB Design
根據目前的設計中, 整體框架有:模板管理、菜單管理、用戶管理、權限分類、組與組用戶、組權限、系統日誌、數據字典。如下是整個PowerDesign的設計結構:
注: 下面添加的一部分編碼、附件則是用於擴展的結構。核心的則是由上面介紹的幾個模塊組成
权限模块构成
权限控制的原理
以一个简单的功能举个例子, 假设用户管理窗口具备一下的功能,每个功能都对应相应的权限值:
当注册的用户登录时,首次会给其设置组, 所以我们只需要给组分配指定的访问权限, 首先,假设给当前分配的组设置权限为(新增、编辑、删除), 对应的权限值则是: 1+2+4=7。 那么用户登陆后就取得对应的权限值 7 , 当打开用户管理时, 针对指定的功能进行权限值逻辑运算。如下:
当进行运算失败, 则选择隐藏或者禁用该功能。
----模块设计理念
權限模塊
由菜單功能細分到每個功能按鈕的權限控制、所有的功能定義在權限分類表中。最後通過組的方式進行用戶的權限配置。
日誌級別
通過日誌字段表定義需要進行日誌記錄的Table,根據數據庫配置的日誌字段,細分到字段級別的日誌管理。
字典管理
一個字典表, 控制所有的字典類型數據, 便於集中管理
編碼規則
針對不同的業務, 生成指定規則的編碼流水號。