| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758 |
- package com.ydtech.components;
- import cn.dev33.satoken.stp.StpInterface;
- import cn.dev33.satoken.stp.StpUtil;
- import com.ydtech.modules.admin.model.SysUser;
- import com.ydtech.modules.admin.service.SysUserService;
- import org.springframework.stereotype.Component;
- import javax.annotation.Resource;
- import java.io.Serializable;
- import java.util.ArrayList;
- import java.util.List;
- import java.util.Set;
- import java.util.stream.Collectors;
- /**
- * sa-token
- * 自定义权限加载接口实现类
- */
- @Component
- public class StpInterfaceImpl implements StpInterface {
- @Resource
- private SysUserService sysUserService;
- /**
- * 返回一个账号所拥有的权限码集合
- */
- @Override
- public List<String> getPermissionList(Object loginId, String loginType) {
- SysUser sysUser = sysUserService.getById(loginId.toString());
- Set<String> permissionsSet = sysUserService.findPermissions(sysUser);
- // 本 list 仅做模拟,实际项目中要根据具体业务逻辑来查询权限
- List<String> list = permissionsSet.stream().collect(Collectors.toList());
- // list.add("101");
- // list.add("user.add");
- // list.add("user.update");
- // list.add("user.get");
- // // list.add("user.delete");
- // list.add("art.*");
- return list;
- }
- /**
- * 返回一个账号所拥有的角色标识集合 (权限与角色可分开校验)
- */
- @Override
- public List<String> getRoleList(Object loginId, String loginType) {
- // 本 list 仅做模拟,实际项目中要根据具体业务逻辑来查询角色
- List<String> list = new ArrayList<String>();
- // list.add("admin");
- // list.add("super-admin");
- return list;
- }
- }
|