Skip to content

Commit 5215fa2

Browse files
committed
Merge branch 'master' of github.com:yuzd/AntMgr
2 parents f8ae666 + ac09600 commit 5215fa2

File tree

1 file changed

+123
-0
lines changed

1 file changed

+123
-0
lines changed

README.md

Lines changed: 123 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,123 @@
1+
2+
3+
# AntMgr
4+
基于netcore2.0 mvc 开发的 快速搭建具有如下特色的后台管理系统
5+
6+
# 特色:
7+
1. 用户管理
8+
2. 菜单管理
9+
3. 角色管理
10+
4. 权限管理[精确到按钮]
11+
5. 代码生成器
12+
13+
14+
# 如何使用
15+
代码克隆到本地 用vs2017或以上版本 打开工程。
16+
17+
### 项目结构如下:
18+
19+
![image](https://images4.c-ctrip.com/target/zb0315000000yq3me600A.png)
20+
![image](https://images4.c-ctrip.com/target/zb0u15000000yoc9r273B.png)
21+
22+
### 找到DbModel下面的初始化db脚本
23+
![image](https://images4.c-ctrip.com/target/zb0315000000yq3p05596.png)
24+
25+
里面包含4张表的schema和初始化数据,你可以新建一个db,也可以导入到你现有的db
26+
27+
1. system_users 系统用户表
28+
2. system_menu 系统菜单表
29+
3. system_role 系统角色表
30+
4. system_page_action 按钮权限表
31+
32+
33+
34+
![image](https://images4.c-ctrip.com/target/zb0b15000000yqrkk687D.png)
35+
36+
37+
### 导入db成功后在项目配置文件里面修改成正确的db链接字符串
38+
39+
![image](https://images4.c-ctrip.com/target/zb0o15000000yn8889DA6.png)
40+
41+
42+
### F5启动应用 会进入登录页面
43+
44+
![image](https://images4.c-ctrip.com/target/zb0915000000yqsrzD697.png)
45+
46+
如果是按照上面初始化db脚本的话
47+
初始化的登录名 zdyu 密码 123456
48+
49+
50+
登录成功如下图:
51+
52+
### 首页
53+
![image](https://images4.c-ctrip.com/target/zb0v15000000yzg3xAD3E.png)
54+
55+
56+
### 菜单管理
57+
![image](https://images4.c-ctrip.com/target/zb0g15000000yp3b5F941.png)
58+
59+
### 权限管理
60+
![image](https://images4.c-ctrip.com/target/zb0e15000000yr5fyC8C3.png)
61+
62+
### 角色管理
63+
![image](https://images4.c-ctrip.com/target/zb0815000000yolhh6D74.png)
64+
![image](https://images4.c-ctrip.com/target/zb0o15000000yn8sd0269.png)
65+
66+
### 系统用户
67+
![image](https://images4.c-ctrip.com/target/zb0715000000z534t2E42.png)
68+
69+
### 代码自动生成
70+
![image](https://images4.c-ctrip.com/target/zb0k15000000ysl2f602B.png)
71+
72+
73+
### 权限如何设计的
74+
- 一个菜单(system_menu)对应一个view页面【1:1】
75+
- 一个用户(system_user)只能有一个角色(system_role)【1:1】
76+
- 一个角色(system_role)可以配置多个菜单权限(view页面)
77+
和view页面里面的功能模块(ru按钮) 【1:N】
78+
- 每个菜单(view页面)下的功能模块(如按钮)配置实际该功能用到的接口【1:N】
79+
80+
### 约定>配置 权限设计其实很简单
81+
权限主要拦截器代码实现在:
82+
![image](https://images4.c-ctrip.com/target/zb0c15000000yr2jg2D37.png)
83+
84+
用户登录态是记录在cookie的 默认的keyName:cbeid
85+
可以在这个里面更改
86+
![image](https://images4.c-ctrip.com/target/zb0t15000000yoh6fE3C8.png)
87+
88+
89+
#### 约定一
90+
具有权限拦截的Controller类上面统一打上[API("controller作用描述")] 方法上面打上 [API("方法作用描述")]
91+
92+
#### 约定二
93+
94+
在页面里面写需要权限控制的按钮的时候
95+
96+
```
97+
<button type="button" action-id="role-add" action-name="新增角色" style="display: none" >新增角色</button>
98+
99+
```
100+
101+
标签名称 | 含义
102+
---|---
103+
action-id | 表示这个权限按钮的id 在当前view唯一
104+
action-name | 权限按钮的作用描述
105+
display | 默认使用 none 隐藏
106+
107+
108+
只要遵守如上2个约定开发好页面和controller后,按照如下步骤进行配置权限
109+
110+
1. 在菜单管理加入新增的页面
111+
2. 在权限管理配置功能按钮对应用到的接口
112+
3. 在角色管理修改对应的角色
113+
114+
115+
### 其他说明
116+
117+
后台用到了的Orm框架:
118+
119+
https://github.com/yuzd/AntData.ORM
120+
121+
配合ORM框架的vs一键生成dbmodel 插件:
122+
123+
https://marketplace.visualstudio.com/items?itemName=nainaigu.AntDataVS

0 commit comments

Comments
 (0)