菜单管理权限管理角色管理系统用户代码自动生成权限如何设计

菜单管理权限管理角色管理系统用户代码自动生成权限如何设计

菜单管理

权限管理

角色管理

系统用户

代码自动生成

权限如何设计的

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

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

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

权限表设计 数据权限和功能权限_用户组角色权限表设计_角色权限表设计

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

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

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

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

约定一

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

约定二

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

新增角色

标签名称含义

action-id 表示这个权限按钮的id 在当前view唯一

action-name 权限按钮的作用描述

display 默认使用 none 隐藏

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

用户组角色权限表设计_角色权限表设计_权限表设计 数据权限和功能权限

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

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

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

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

使用本后台的前提条件

* 你有过开发mvc系统的经验 最起码你得知道controller view Filter 是什么东西。

* 有用过orm的经验,比如EF之类的。 (虽然本后台用的是AntData这个ORM框架人物立绘,但是该ORM使用上采用的是原生Linq To

SQL的模式和EF差不多,但是比EF轻量级)

* 有用过Autofac这款DI容器,

Autofac.Annotation是我针对Autofc写一个开源扩展,目的是能够像java的Spring框架一样游戏运营,用标签来控制注入,

摆脱写把很多注入配置代码

* 有用过AutoMapper这个组件,没有的话 稍微看下官方文档就好了

* 前端采用的是VUE,所以你得会用vue。

使用本后台能达到什么效果

角色权限表设计_权限表设计 数据权限和功能权限_用户组角色权限表设计

* 开发的页面具体完全的权限拦截功能,不需要复杂的配置按照约定的2点,就可以让开发出来的页面 完全实现某个角色

支持配置你想让它有哪些菜单角色权限表设计角色权限表设计,页面展示哪些按钮。

* 掌握基于最新的netcore技术

* 对于一个表的CRUD用代码自动生成功能后稍微加点业务逻辑代码,5分钟内可以开发完成

我的开发环境

*

vs 2017 或以上版本

*

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

文章来源:https://www.matools.com/blog/190664483