Commit 4eb1e356 by giaogiao

修改readme

parent 0edcf9b6
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
## 框架介绍 ## 框架介绍
> 本项目使用第三方开源脚手架项目: spring-boot-plus 参考:README-zh.md > 本项目使用第三方开源脚手架项目: spring-boot-plus 参考:README-zh.md
---
## 项目结构 ## 项目结构
```text ```text
└── spring-boot-plus └── spring-boot-plus
...@@ -20,6 +20,7 @@ ...@@ -20,6 +20,7 @@
└── api-merchant 商家api服务模块 └── api-merchant 商家api服务模块
└── common 通用模块(包含service dao mapper) └── common 通用模块(包含service dao mapper)
``` ```
---
## 安装中间件 ## 安装中间件
redis(必须本地开启) redis(必须本地开启)
...@@ -30,7 +31,7 @@ mysql5.7 (你本地可以不开,在本地配置中已经连上了测试环境) ...@@ -30,7 +31,7 @@ mysql5.7 (你本地可以不开,在本地配置中已经连上了测试环境)
## 开发规范 ## 开发规范
---
### 关于模块 ### 关于模块
api-system api-app api-merchant api-system api-app api-merchant
...@@ -68,25 +69,61 @@ api-system api-app api-merchant ...@@ -68,25 +69,61 @@ api-system api-app api-merchant
注册业务逻辑要调用common模块中的service去操作 注册业务逻辑要调用common模块中的service去操作
---
## swagger文档 ## swagger文档
http://127.0.0.1:8889/api/doc.html#/home http://127.0.0.1:8889/api/doc.html#/home
左上角可以切换到不同的模块 左上角可以切换到不同的模块
---
## 配置接口权限
*例如:*
```
/**
* 获取获取菜单树形列表
*
* @return
*/
@PostMapping("/getAllMenuTree")
@RequiresPermissions("sys:permission:all:menu:tree")
public ApiResult<List<SysPermissionTreeVo>> getAllMenuTree() throws Exception {
List<SysPermissionTreeVo> treeVos = sysPermissionService.getAllMenuTree();
return ApiResult.ok(treeVos);
}
```
>其中注解@RequiresPermissions表示访问此接口需要的权限,
权限可以在数据库表中先分配给角色, 再将角色与用户进行关联
**系统平台权限相关表:**
## 权限验证 系统角色sys_role,
Shiro 的核心: 系统用户sys_user,
系统权限sys_permission,
角色权限关系sys_role_permission
---
## shiro理论知识
Subject(主体): 用于记录当前的操作用户,Subject在shiro中是一个接口,接口中定义了很多认证授相关的方法,外部程序通过subject进行认证授权,而subject是通过SecurityManager安全管理器进行认证授权 Subject(主体): 用于记录当前的操作用户,Subject在shiro中是一个接口,接口中定义了很多认证授相关的方法,外部程序通过subject进行认证授权,而subject是通过SecurityManager安全管理器进行认证授权
SecurityManager(安全管理器):对Subject 进行管理,他是shiro的核心SecurityManager是一个接口,继承了Authenticator, Authorizer, SessionManager这三个接口。 SecurityManager(安全管理器):对Subject 进行管理,他是shiro的核心SecurityManager是一个接口,继承了Authenticator, Authorizer, SessionManager这三个接口。
Authenticator(认证器):对用户身份进行认证 Authenticator(认证器):对用户身份进行认证
Authorizer(授权器):用户通过认证后,来判断时候拥有该权限 Authorizer(授权器):用户通过认证后,来判断时候拥有该权限
realm:获取用户权限数据 realm:获取用户权限数据
sessionManager(会话管理):shiro框架定义了一套会话管理,它不依赖web容器的session,所以shiro可以使用在非web应用上,也可以将分布式应用的会话集中在一点管理,此特性可使它实现单点登录。 sessionManager(会话管理):shiro框架定义了一套会话管理,它不依赖web容器的session,所以shiro可以使用在非web应用上,也可以将分布式应用的会话集中在一点管理,此特性可使它实现单点登录。
CacheManager(缓存管理器):将用户权限数据存储在缓存,这样可以提高性能。
CacheManager(缓存管理器):将用户权限数据存储在缓存,这样可以提高性能。
authc:所有url都必须认证通过才可以访问; authc:所有url都必须认证通过才可以访问;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment