爱组搭 AiZuDa 爱组搭 AiZuDa
首页
  • 主题初衷与诞生
  • 介绍
  • 快速上手
  • 单点登录SSO
  • 图片验证码
  • 接口权限
  • 分布式锁(限流)
  • OSS 文件存储
  • 消息通知(群机器人)
  • 系统监控
  • mgs api 服务
  • 开源低代码解决方案
问答
💖支持
GitHub (opens new window)
首页
  • 主题初衷与诞生
  • 介绍
  • 快速上手
  • 单点登录SSO
  • 图片验证码
  • 接口权限
  • 分布式锁(限流)
  • OSS 文件存储
  • 消息通知(群机器人)
  • 系统监控
  • mgs api 服务
  • 开源低代码解决方案
问答
💖支持
GitHub (opens new window)
  • 指南

    • 主题初衷与诞生
    • 介绍
    • 快速上手
  • 安全

    • 单点登录SSO
    • 图片验证码
    • 接口权限
      • 权限注解
      • 权限校验
    • 分布式锁(限流)
  • 存储

    • OSS 文件存储
  • 消息&监控

    • 消息通知(群机器人)
    • 系统监控
  • 免费 API 服务

    • mgs 基础 api 服务
  • 低代码

    • 开源低代码解决方案

接口权限

# 什么是接口权限

接口权限,顾名思义请求接口API的权限控制。

  • 有别于登录权限的是接口权限必须拥有登录权限。

该功能依赖于 单点登录SSO 组件

# 权限注解

权限注解 Permission 注解在 Controller 层接口方法体上。

  • 注解权限编码 sys:user:page 系统用户分页接口
@Permission("sys:user:page")
  • 忽略权限注解
@Permission(ignore = true)

# 权限校验

/**
 * 权限授权处理器
 */
public class Authorization implements SSOAuthorization {

    @Override
    public boolean isPermitted(SSOToken token, String permission) {
        // token 为 kisso 登录票据,用户ID 重要信息从中获取
        // permission 为权限注解编码

        // 根据 用户ID 数据库中读取校验是否拥有 permisssion 编码接口权限
    }
}
  • 注入权限拦截器,需要注意的是放在登录拦截器之后
SSOPermissionInterceptor permissionInterceptor = new SSOPermissionInterceptor();
// 别忘记注入权限处理器
permissionInterceptor.setAuthorization(new Authorization());
InterceptorRegistration registrationPermission = registry.addInterceptor(permissionInterceptor);
registrationPermission.addPathPatterns("/**");
上次更新: 2022/05/05, 16:05:41
图片验证码
分布式锁(限流)

← 图片验证码 分布式锁(限流)→

Theme by Vdoing | Copyright © 2022-2022 AiZuDa | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×