【开源 】.NET Core MVC快速开发系统

基于.NET Core 2.0 MVC 开发的快速搭建具有如下特色的后台管理系统

AntMgr:https://github.com/yuzd/AntMgr

特色

  • 用户管理

  • 菜单管理

  • 角色管理

  • 权限管理[精确到按钮])

  • 代码生成器

一、如何使用

代码克隆到本地 用 vs2017 或以上版本 打开工程。

项目结构如下:

【开源 】.NET Core MVC 快速开发系统

 

找到 DbModel 下面的初始化 db 脚本

 

【开源 】.NET Core MVC 快速开发系统

 

里面包含 4 张表的 schema 和初始化数据,你可以新建一个 db,也可以导入到你现有的 db

  1. system_users 系统用户表

  2. system_menu 系统菜单表

  3. system_role 系统角色表

  4. system_page_action 按钮权限表

【开源 】.NET Core MVC 快速开发系统

导入 db 成功后在项目配置文件里面修改成正确的 db 链接字符串

【开源 】.NET Core MVC 快速开发系统

F5 启动应用 会进入登录页面

【开源 】.NET Core MVC 快速开发系统

如果是按照上面初始化 db 脚本的话 初始化的登录名 zdyu 密码 123456

登录成功如下图:

首页

 

【开源 】.NET Core MVC 快速开发系统

菜单管理

【开源 】.NET Core MVC 快速开发系统

权限管理

【开源 】.NET Core MVC 快速开发系统

角色管理

【开源 】.NET Core MVC 快速开发系统

 

【开源 】.NET Core MVC 快速开发系统

系统用户

【开源 】.NET Core MVC 快速开发系统

代码自动生成

【开源 】.NET Core MVC 快速开发系统

 

权限如何设计的

 

  • 一个菜单(system_menu)对应一个 view 页面【1:1】

  • 一个用户(system_user)只能有一个角色(system_role)【1:1】

  • 一个角色(system_role)可以配置多个菜单权限(view 页面) 和 view 页面里面的功能模块(ru 按钮) 【1:N】

  • 每个菜单(view 页面)下的功能模块(如按钮)配置实际该功能用到的接口【1:N】

约定>配置 权限设计其实很简单

权限主要拦截器代码实现在:

 

【开源 】.NET Core MVC 快速开发系统

 

用户登录态是记录在 cookie 的 默认的 keyName:cbeid 可以在这个里面更改 

 

【开源 】.NET Core MVC 快速开发系统

约定一

 

具有权限拦截的Controller类上面统一打上[API(“controller 作用描述”)] 方法上面打上 [API(“方法作用描述”)]

 

【开源 】.NET Core MVC 快速开发系统

 

【开源 】.NET Core MVC 快速开发系统

 

约定二

 

在页面里面写需要权限控制的按钮的时候

<button type="button" action-id="role-add"
action-name="新增角色"
style="display: none" >
新增角色</button>

 

 

【开源 】.NET Core MVC 快速开发系统

有了这个标签 在配置权限的时候会解析页面自动拿到需要权限拦截的功能按钮!

 

只要遵守如上 2 个约定开发好页面和 controller 后,按照如下步骤进行配置权限

 

  • 在菜单管理加入新增的页面

  • 在权限管理配置功能按钮对应用到的接口

     

  • 在角色管理修改对应的角色

 

其他说明

 

后台用到了的 Orm 框架:

 

https://github.com/yuzd/AntData.ORM

 

配合 ORM 框架的 vs 一键生成 dbmodel 插件:

 

https://marketplace.visualstudio.com/items?itemName=nainaigu.AntDataVS


转自:鱼东东

cnblogs.com/yudongdong/p/11104345.html

© 版权声明

☆ END ☆
喜欢就点个赞吧
点赞0 分享
图片正在生成中,请稍后...