|
|
|
@ -17,6 +17,11 @@ import com.ruoyi.common.security.annotation.PreAuthorize;
@@ -17,6 +17,11 @@ import com.ruoyi.common.security.annotation.PreAuthorize;
|
|
|
|
|
import com.ruoyi.common.security.service.TokenService; |
|
|
|
|
import com.ruoyi.system.api.model.LoginUser; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
* 自定义权限实现 |
|
|
|
|
* |
|
|
|
|
* @author ruoyi |
|
|
|
|
*/ |
|
|
|
|
@Aspect |
|
|
|
|
@Component |
|
|
|
|
public class PreAuthorizeAspect |
|
|
|
@ -42,34 +47,56 @@ public class PreAuthorizeAspect
@@ -42,34 +47,56 @@ public class PreAuthorizeAspect
|
|
|
|
|
return point.proceed(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
if (StringUtils.isEmpty(annotation.hasPermi()) && hasPermi(annotation.hasPermi())) |
|
|
|
|
if (!StringUtils.isEmpty(annotation.hasPermi())) |
|
|
|
|
{ |
|
|
|
|
return point.proceed(); |
|
|
|
|
} |
|
|
|
|
else if (StringUtils.isEmpty(annotation.lacksPermi()) && hasPermi(annotation.lacksPermi())) |
|
|
|
|
{ |
|
|
|
|
return point.proceed(); |
|
|
|
|
if (hasPermi(annotation.hasPermi())) |
|
|
|
|
{ |
|
|
|
|
return point.proceed(); |
|
|
|
|
} |
|
|
|
|
throw new PreAuthorizeException(); |
|
|
|
|
} |
|
|
|
|
else if (StringUtils.isEmpty(annotation.hasAnyPermi()) && hasAnyPermi(annotation.hasAnyPermi())) |
|
|
|
|
else if (!StringUtils.isEmpty(annotation.lacksPermi())) |
|
|
|
|
{ |
|
|
|
|
return point.proceed(); |
|
|
|
|
if (lacksPermi(annotation.lacksPermi())) |
|
|
|
|
{ |
|
|
|
|
return point.proceed(); |
|
|
|
|
} |
|
|
|
|
throw new PreAuthorizeException(); |
|
|
|
|
} |
|
|
|
|
else if (StringUtils.isEmpty(annotation.hasRole()) && hasRole(annotation.hasRole())) |
|
|
|
|
else if (!StringUtils.isEmpty(annotation.hasAnyPermi())) |
|
|
|
|
{ |
|
|
|
|
return point.proceed(); |
|
|
|
|
if (hasAnyPermi(annotation.hasAnyPermi())) |
|
|
|
|
{ |
|
|
|
|
return point.proceed(); |
|
|
|
|
} |
|
|
|
|
throw new PreAuthorizeException(); |
|
|
|
|
} |
|
|
|
|
else if (StringUtils.isEmpty(annotation.lacksRole()) && lacksRole(annotation.lacksRole())) |
|
|
|
|
else if (!StringUtils.isEmpty(annotation.hasRole())) |
|
|
|
|
{ |
|
|
|
|
return point.proceed(); |
|
|
|
|
if (hasRole(annotation.hasRole())) |
|
|
|
|
{ |
|
|
|
|
return point.proceed(); |
|
|
|
|
} |
|
|
|
|
throw new PreAuthorizeException(); |
|
|
|
|
} |
|
|
|
|
else if (StringUtils.isEmpty(annotation.hasAnyRoles()) && hasAnyRoles(annotation.hasAnyRoles())) |
|
|
|
|
else if (StringUtils.isEmpty(annotation.lacksRole())) |
|
|
|
|
{ |
|
|
|
|
return point.proceed(); |
|
|
|
|
if (lacksRole(annotation.lacksRole())) |
|
|
|
|
{ |
|
|
|
|
return point.proceed(); |
|
|
|
|
} |
|
|
|
|
throw new PreAuthorizeException(); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
else if (StringUtils.isEmpty(annotation.hasAnyRoles())) |
|
|
|
|
{ |
|
|
|
|
if (hasAnyRoles(annotation.hasAnyRoles())) |
|
|
|
|
{ |
|
|
|
|
return point.proceed(); |
|
|
|
|
} |
|
|
|
|
throw new PreAuthorizeException(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
return point.proceed(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|