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