| | |
| | | import java.util.HashSet;
|
| | | import java.util.Set;
|
| | | import org.springframework.util.PatternMatchUtils;
|
| | | import com.ruoyi.common.core.context.SecurityContextHolder;
|
| | | import com.ruoyi.common.core.exception.auth.NotLoginException;
|
| | | import com.ruoyi.common.core.exception.auth.NotPermissionException;
|
| | | import com.ruoyi.common.core.exception.auth.NotRoleException;
|
| | |
| | | }
|
| | |
|
| | | /**
|
| | | * 验证当前用户有效期, 如果相差不足360分钟,自动刷新缓存
|
| | | * 验证当前用户有效期, 如果相差不足120分钟,自动刷新缓存
|
| | | *
|
| | | * @param loginUser 当前用户信息
|
| | | */
|
| | |
| | | */
|
| | | public void checkPermi(RequiresPermissions requiresPermissions)
|
| | | {
|
| | | SecurityContextHolder.setPermission(StringUtils.join(requiresPermissions.value(), ","));
|
| | | if (requiresPermissions.logical() == Logical.AND)
|
| | | {
|
| | | checkPermiAnd(requiresPermissions.value());
|
| | |
| | | public boolean hasPermi(Collection<String> authorities, String permission)
|
| | | {
|
| | | return authorities.stream().filter(StringUtils::hasText)
|
| | | .anyMatch(x -> ALL_PERMISSION.contains(x) || PatternMatchUtils.simpleMatch(x, permission));
|
| | | .anyMatch(x -> ALL_PERMISSION.equals(x) || PatternMatchUtils.simpleMatch(x, permission));
|
| | | }
|
| | |
|
| | | /**
|
| | |
| | | public boolean hasRole(Collection<String> roles, String role)
|
| | | {
|
| | | return roles.stream().filter(StringUtils::hasText)
|
| | | .anyMatch(x -> SUPER_ADMIN.contains(x) || PatternMatchUtils.simpleMatch(x, role));
|
| | | .anyMatch(x -> SUPER_ADMIN.equals(x) || PatternMatchUtils.simpleMatch(x, role));
|
| | | }
|
| | | }
|