| | |
| | | package com.ruoyi.framework.web.service; |
| | | |
| | | import java.util.Set; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.util.CollectionUtils; |
| | | import cn.hutool.core.lang.Validator; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.core.domain.entity.SysRole; |
| | | import com.ruoyi.common.core.domain.model.LoginUser; |
| | | import com.ruoyi.common.utils.ServletUtils; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.Set; |
| | | |
| | | /** |
| | | * RuoYi首创 自定义权限实现,ss取自SpringSecurity首字母 |
| | | * |
| | | * |
| | | * @author ruoyi |
| | | */ |
| | | @Service("ss") |
| | |
| | | |
| | | /** |
| | | * 验证用户是否具备某权限 |
| | | * |
| | | * |
| | | * @param permission 权限字符串 |
| | | * @return 用户是否具备某权限 |
| | | */ |
| | | public boolean hasPermi(String permission) |
| | | { |
| | | if (StringUtils.isEmpty(permission)) |
| | | if (Validator.isEmpty(permission)) |
| | | { |
| | | return false; |
| | | } |
| | | LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); |
| | | if (StringUtils.isNull(loginUser) || CollectionUtils.isEmpty(loginUser.getPermissions())) |
| | | if (Validator.isNull(loginUser) || Validator.isEmpty(loginUser.getPermissions())) |
| | | { |
| | | return false; |
| | | } |
| | |
| | | */ |
| | | public boolean hasAnyPermi(String permissions) |
| | | { |
| | | if (StringUtils.isEmpty(permissions)) |
| | | if (Validator.isEmpty(permissions)) |
| | | { |
| | | return false; |
| | | } |
| | | LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); |
| | | if (StringUtils.isNull(loginUser) || CollectionUtils.isEmpty(loginUser.getPermissions())) |
| | | if (Validator.isNull(loginUser) || Validator.isEmpty(loginUser.getPermissions())) |
| | | { |
| | | return false; |
| | | } |
| | |
| | | |
| | | /** |
| | | * 判断用户是否拥有某个角色 |
| | | * |
| | | * |
| | | * @param role 角色字符串 |
| | | * @return 用户是否具备某角色 |
| | | */ |
| | | public boolean hasRole(String role) |
| | | { |
| | | if (StringUtils.isEmpty(role)) |
| | | if (Validator.isEmpty(role)) |
| | | { |
| | | return false; |
| | | } |
| | | LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); |
| | | if (StringUtils.isNull(loginUser) || CollectionUtils.isEmpty(loginUser.getUser().getRoles())) |
| | | if (Validator.isNull(loginUser) || Validator.isEmpty(loginUser.getUser().getRoles())) |
| | | { |
| | | return false; |
| | | } |
| | | for (SysRole sysRole : loginUser.getUser().getRoles()) |
| | | { |
| | | String roleKey = sysRole.getRoleKey(); |
| | | if (SUPER_ADMIN.contains(roleKey) || roleKey.contains(StringUtils.trim(role))) |
| | | if (SUPER_ADMIN.equals(roleKey) || roleKey.equals(StringUtils.trim(role))) |
| | | { |
| | | return true; |
| | | } |
| | |
| | | */ |
| | | public boolean hasAnyRoles(String roles) |
| | | { |
| | | if (StringUtils.isEmpty(roles)) |
| | | if (Validator.isEmpty(roles)) |
| | | { |
| | | return false; |
| | | } |
| | | LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest()); |
| | | if (StringUtils.isNull(loginUser) || CollectionUtils.isEmpty(loginUser.getUser().getRoles())) |
| | | if (Validator.isNull(loginUser) || Validator.isEmpty(loginUser.getUser().getRoles())) |
| | | { |
| | | return false; |
| | | } |
| | |
| | | |
| | | /** |
| | | * 判断是否包含权限 |
| | | * |
| | | * |
| | | * @param permissions 权限列表 |
| | | * @param permission 权限字符串 |
| | | * @return 用户是否具备某权限 |