Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
SiEn
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
hewei
SiEn
Commits
4eb1e356
Commit
4eb1e356
authored
Sep 25, 2020
by
giaogiao
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
修改readme
parent
0edcf9b6
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
43 additions
and
6 deletions
+43
-6
README.md
+43
-6
No files found.
README.md
View file @
4eb1e356
...
@@ -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都必须认证通过才可以访问;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment