Skip to content
广告❤️成为赞助商

什么是接口权限

接口权限,顾名思义请求接口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("/**");

每个人都是架构师