Files
graduation-design/music-houduan/src/main/java/com/test/musichouduan/config/StpInterfaceImpl.java
ikmkj e30011cee2 refactor(time): 优化时间格式反序列化并统一时间格式- 新增 LocalDateTimeDeserializer 类,用于自定义 LocalDateTime 类型的反序列化逻辑
- 在 MusicDTO、PlaylistDTO、SingerDTO 和 UserDTO 中使用 LocalDateTimeDeserializer
-统一时间格式为 "yyyy-MM-dd HH:mm:ss"
- 移除了 SaTokenConfig 和 StpInterfaceImpl 中的调试信息打印
2025-08-10 14:42:23 +08:00

53 lines
1.4 KiB
Java

package com.test.musichouduan.config;
import cn.dev33.satoken.stp.StpInterface;
import com.test.musichouduan.entity.User;
import com.test.musichouduan.repository.UserRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import java.util.ArrayList;
import java.util.List;
/**
* 自定义权限验证接口扩展
*/
@Component
public class StpInterfaceImpl implements StpInterface {
@Autowired
private UserRepository userRepository;
/**
* 返回一个账号所拥有的权限码集合
*/
@Override
public List<String> getPermissionList(Object loginId, String loginType) {
// 暂时不需要权限码
return new ArrayList<>();
}
/**
* 返回一个账号所拥有的角色标识集合
*/
@Override
public List<String> getRoleList(Object loginId, String loginType) {
List<String> roles = new ArrayList<>();
// 获取用户ID
Long userId = Long.parseLong(loginId.toString());
// 查询用户
userRepository.findById(userId).ifPresent(user -> {
// 根据用户的role字段设置角色
if (user.getRole() == 1) {
roles.add("admin");
} else {
roles.add("user");
}
});
return roles;
}
}