|
1 | 1 | ## 权限功能模块
|
2 | 2 |
|
3 |
| -提供用户,角色,权限管理的配置和管理 |
| 3 | +1. 提供用户,角色管理,登录授权等功能 |
| 4 | +2. 提供统一的多维度,可拓展的权限分配 |
| 5 | + |
| 6 | + 权限设置不再像以往那样和角色,用户直接关联.在hsweb里,权限设置是通用的. |
| 7 | + 你可以为用户,角色,自己定义的维度比如:机构,部门,岗位等维度进行权限分配. |
| 8 | + 而且不仅仅支持基本等RBAC权限控制,还可以自定义控制到数据行和列. |
| 9 | + |
| 10 | +3. 提供系统菜单管理 |
| 11 | + |
| 12 | +## 使用 |
| 13 | +引入依赖到`pom.xml` |
| 14 | +```xml |
| 15 | +<dependency> |
| 16 | + <groupId>org.hswebframework.web</groupId> |
| 17 | + <artifactId>hsweb-system-authorization-starter</artifactId> |
| 18 | + <version>${hsweb.framework.version}</version> |
| 19 | +</dependency> |
| 20 | +``` |
| 21 | + |
| 22 | + |
| 23 | +## 授权登录接口 |
| 24 | +http接口: `POST /authorize/login`, 登录接口支持2种`content-type`: `application/json`(json方式)和`application/x-www-form-urlencoded`(表单方式), |
| 25 | +请在调用等时候指定对应等`content-type`.必要参数: `username` 和 `password`. |
| 26 | + |
| 27 | +⚠️注意: 此接口只实现了简单等登录和验证逻辑,不过会通过发布各种事件来实现自定义对逻辑处理. |
| 28 | + |
| 29 | +1. `AuthorizationDecodeEvent` 在接收到登录请求之后触发,如果在登录前对用户名密码进行里加密,可以通过监听此事件实现对用户名密码的解密操作 |
| 30 | +2. `AuthorizationBeforeEvent` 在`AuthorizationDecodeEvent`事件完成后触发,可通过监听此事件并获取请求参数,实现验证码功能 |
| 31 | +3. `AuthorizationSuccessEvent` 在授权成功后触发.注意: 权限控制模块也是通过监听此事件来完成授权 |
| 32 | +4. `AuthorizationFailedEvent` 授权失败时触发.当发生过程中异常时触发此事件 |
| 33 | + |
| 34 | +什么? 还不知道如何监听事件? [快看这里](https://github.com/hs-web/hsweb-framework/wiki/事件驱动) |
4 | 35 |
|
5 |
| -## 授权 |
6 |
| -[AuthorizationController](hsweb-system-authorization-web/src/main/java/org/hswebframework/web/controller/authorization/AuthorizationController.java) |
7 |
| -仅进行基础授权,通过触发`AuthorizationListener`,进行自定义控制逻辑.详细方式见:[hsweb-authorization-api](../../hsweb-authorization/hsweb-authorization-api#listener) |
8 | 36 |
|
9 | 37 | ## 权限设置
|
10 |
| -[AuthorizationSettingService]() 提供通用的权限设置,可在想要的地方进行设置, |
11 |
| -然后将用户支持的设置类型提供给[AuthorizationSettingTypeSupplier](),在初始化权限的时候,即可对相应的设置进行初始化. |
12 | 38 |
|
| 39 | +TODO |
0 commit comments