类 PermissionAspect

java.lang.Object
net.sohelp.boot.admin.core.aspect.PermissionAspect

@Component public class PermissionAspect extends Object
权限检查切面类,用于在方法执行前进行权限验证。 主要功能包括:登录状态校验、用户信息有效性校验、账户启用状态校验以及基于注解的权限控制。
从以下版本开始:
2024/11/10
作者:
AaronFung
  • 构造器详细资料

    • PermissionAspect

      public PermissionAspect()
  • 方法详细资料

    • permission

      public void permission()
      定义切入点表达式,匹配所有使用了 Permission 注解的方法。
    • doBefore

      public void doBefore(org.aspectj.lang.JoinPoint joinPoint) throws TokenAuthenticationException, BusiException, SQLException, AccessPermissionException
      在目标方法执行之前进行权限检查。

      检查流程如下: 1. 判断当前是否已登录; 2. 获取并验证用户信息是否存在; 3. 验证该用户账号是否处于启用状态; 4. 若是开发人员岗位则直接放行; 5. 否则进一步判断权限标识,并通过 Sa-Token 进行权限认证。

      参数:
      joinPoint - 切入点对象,封装了目标方法的相关信息
      抛出:
      TokenAuthenticationException - 当用户未登录或身份无效时抛出
      BusiException - 业务异常(如国际化消息获取失败等)
      SQLException - 数据库访问异常
      AccessPermissionException - 访问权限不足异常