netcore mvc快速开发系统(菜单,角色,权限[精确到按钮])开源
基于netcore2.0 mvc 開發(fā)的 快速搭建具有如下特色的后臺管理系統(tǒng)
用戶管理
菜單管理
角色管理
權限管理[精確到按鈕])
代碼生成器
代碼克隆到本地 用vs2017或以上版本 打開工程。
項目結構如下:
找到DbModel下面的初始化db腳本
里面包含4張表的schema和初始化數(shù)據(jù),你可以新建一個db,也可以導入到你現(xiàn)有的db
system_users 系統(tǒng)用戶表
system_menu 系統(tǒng)菜單表
system_role 系統(tǒng)角色表
system_page_action 按鈕權限表
導入db成功后在項目配置文件里面修改成正確的db鏈接字符串
F5啟動應用 會進入登錄頁面
如果是按照上面初始化db腳本的話 初始化的登錄名 zdyu 密碼 123456
登錄成功如下圖:
首頁
菜單管理
權限管理
角色管理
系統(tǒng)用戶
代碼自動生成
權限如何設計的
一個菜單(system_menu)對應一個view頁面【1:1】
一個用戶(system_user)只能有一個角色(system_role)【1:1】
一個角色(system_role)可以配置多個菜單權限(view頁面) 和view頁面里面的功能模塊(ru按鈕) 【1:N】
每個菜單(view頁面)下的功能模塊(如按鈕)配置實際該功能用到的接口【1:N】
約定>配置 權限設計其實很簡單
權限主要攔截器代碼實現(xiàn)在:?
用戶登錄態(tài)是記錄在cookie的 默認的keyName:cbeid 可以在這個里面更改?
約定一
具有權限攔截的Controller類上面統(tǒng)一打上[API("controller作用描述")]?方法上面打上?[API("方法作用描述")]
約定二
在頁面里面寫需要權限控制的按鈕的時候
<button type="button" action-id="role-add" action-name="新增角色" style="display: none" >新增角色</button>| action-id | 表示這個權限按鈕的id 在當前view唯一 |
| action-name | 權限按鈕的作用描述 |
| display | 默認使用 none 隱藏 |
有了這個標簽 在配置權限的時候會解析頁面自動拿到需要權限攔截的功能按鈕!
只要遵守如上2個約定開發(fā)好頁面和controller后,按照如下步驟進行配置權限
在菜單管理加入新增的頁面
在權限管理配置功能按鈕對應用到的接口
在角色管理修改對應的角色
其他說明
后臺用到了的Orm框架:
https://github.com/yuzd/AntData.ORM
配合ORM框架的vs一鍵生成dbmodel 插件:
https://marketplace.visualstudio.com/items?itemName=nainaigu.AntDataVS
?原文地址:https://www.cnblogs.com/yudongdong/p/11104345.html
.NET社區(qū)新聞,深度好文,歡迎訪問公眾號文章匯總?http://www.csharpkit.com?
總結
以上是生活随笔為你收集整理的netcore mvc快速开发系统(菜单,角色,权限[精确到按钮])开源的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学习MVVM设计模式后第一次用于生产
- 下一篇: Windows新终端中玩转ASCII和E