Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wecloud_im_server
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
wecloud_im_server
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