mirror of
https://github.com/hs-web/hsweb-framework.git
synced 2026-05-08 06:06:01 +08:00
# Conflicts: # hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/AuthenticationHolder.java # hsweb-authorization/hsweb-authorization-api/src/main/java/org/hswebframework/web/authorization/annotation/ResourceAction.java
权限控制API
用于权限控制的API接口,支持RBAC权限控制,支持数据级(控制到行,列)权限控制.
介绍
以下讲到的类都是基于包:org.hswebframework.web.authorization
常用注解:
点击名称,查看源代码注释获得使用说明
| 注解名称 | 说明 |
|---|---|
@Authorize |
RBAC方式权限控制注解 |
@RequiresExpression |
表达式方式验证 |
@RequiresDataAccess |
数据权限控制 |
常用类
点击名称,查看源代码注释获得使用说明
| 类名 | 说明 |
|---|---|
Authentication |
用户的认证信息 |
AuthenticationHolder |
用于获取当前登录用户的认证信息 |
Listener
api提供AuthorizationListener 来进行授权逻辑拓展,在授权前后执行可自定义的操作.如rsa解密帐号密码,验证码判断等。
默认事件列表():
| 类名 | 说明 |
|---|---|
AuthorizationDecodeEvent |
接收到请求参数时 |
AuthorizationBeforeEvent |
验证密码前触发 |
AuthorizationFailedEvent |
授权验证失败时触发 |
AuthorizationSuccessEvent |
授权成功时触发 |
AuthorizationExitEvent |
用户注销时触发 |
例子:
@Component
public class CustomAuthorizationSuccessListener implements AuthorizationListener<AuthorizationSuccessEvent>{
@Override
public void on(AuthorizationSuccessEvent event) {
Authentication authentication=event.getAuthentication();
//....
System.out.println(authentication.getUser().getName()+"登录啦");
}
}