| | |
| | | package com.sandu.ximon.admin.security; |
| | | |
| | | import com.sandu.common.security.LoginUserInfo; |
| | | import org.springframework.security.core.GrantedAuthority; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | |
| | | * @date 2021/8/27 18:28 |
| | | * 权限控制 |
| | | */ |
| | | @Service(value = "p") |
| | | @Service(value = "el") |
| | | public class PermissionConfig { |
| | | |
| | | // public Boolean check(String... permissions) { |
| | | // |
| | | // // 获取当前用户的所有权限 |
| | | // List<String> elPermissions = SecurityUtils.getUserDetails().getAuthorities().stream().map(GrantedAuthority::getAuthority).collect(Collectors.toList()); |
| | | // // 判断当前用户的所有权限是否包含接口上定义的权限 |
| | | // return elPermissions.contains("admin") || Arrays.stream(permissions).anyMatch(elPermissions::contains); |
| | | // } |
| | | public Boolean check(String... permissions) { |
| | | LoginUserInfo loginUserInfo = SecurityUtils.getUserDetails(); |
| | | if (loginUserInfo == null || loginUserInfo.getPermission() == null) { |
| | | return false; |
| | | } |
| | | String[] split = loginUserInfo.getPermission().split(","); |
| | | // 获取当前用户的所有权限 |
| | | List<String> elPermissions = Arrays.stream(split).collect(Collectors.toList()); |
| | | // 判断当前用户的所有权限是否包含接口上定义的权限 |
| | | return elPermissions.contains("admin") || Arrays.stream(permissions).anyMatch(elPermissions::contains); |
| | | } |
| | | } |