hsweb 用户手册
  • 说明
  • 快速开始
  • 增删改查
    • 通用CRUD
    • 动态SQL条件
    • 数据库版本控制
    • 拓展实体类
  • 权限控制
    • 登录授权
    • 权限管理
    • RBAC权限控制
    • 数据权限控制
    • 双因子验证
    • 前后分离
  • 常用工具
    • 枚举数据字典
    • 对象属性拷贝
    • 缓存
    • 分布式锁
    • 计数器
    • Excel导入导出
  • 日志
  • 多数据源
    • 多数据源管理
    • Mybatis 多数据源
    • Jta 多数据源事务
  • 业务功能
    • 用户权限
    • 组织架构
    • 数据字典
    • 动态表单
    • 工作流
    • 数据源配置
    • 模板管理
    • 动态脚本
    • 首页dashbord配置
    • 文件上传下载
    • 在线数据库管理
  • 其他
Powered by GitBook
On this page
  • 授权
  • 授权登录接口
  • 注销

Was this helpful?

  1. 权限控制

登录授权

Previous权限控制Next权限管理

Last updated 6 years ago

Was this helpful?

授权

使用hsweb-authorization-api提供的监听器,类UserOnSignIn监听用户授权事件AuthorizationSuccessEvent 当用户完成授权(授权方式可自行实现或者使用框架默认的授权方式,主要触发该事件即可).授权通过后会触发该事件.流程如下

  1. 完成授权,触发AuthorizationSuccessEvent

  2. UserOnSignIn 收到AuthorizationSuccessEvent事件,获取参数token_type(默认为sessionId),以及授权信息

  3. 根据token_type 调用对应的UserTokenGenerator生成token.

  4. 将token和授权信息中的userId注册到UserTokenManager

  5. 将token返回给授权接口

授权登录接口

http接口: POST /authorize/login, 登录接口支持2种content-type,application/json(Json RequestBody方式)和application/x-www-form-urlencoded(表单方式), 请在调用等时候指定对应等content-type.必要参数: username 和 password.

⚠️注意: 此接口只实现了简单的登录逻辑,不过会通过发布各种事件来实现自定义的逻辑处理.

  1. AuthorizationDecodeEvent 在接收到登录请求之后触发,如果在登录前对用户名密码进行里加密,可以通过监听此事件实现对用户名密码的解密操作

  2. AuthorizationBeforeEvent 在AuthorizationDecodeEvent事件完成后触发,可通过监听此事件并获取请求参数,实现验证码功能

  3. AuthorizationSuccessEvent 在授权成功后触发.注意: 权限控制模块也是通过监听此事件来完成授权

  4. AuthorizationFailedEvent 授权失败时触发.当发生过程中异常时触发此事件

注销

与授权同理,类UserOnSignOut监听AuthorizationExitEvent ,当触发事件后,调用UserTokenManager移除当前登录的token信息

UserTokenGenerator 默认使用sessionId作为token,你可以实现UserTokenGenerator和UserTokenParser来进行自定义token实现

前后分离