java.lang.ClassCastException: java.lang.String cannot be cast to org.springframework.security.core.GrantedAuthority
出现了这个错误???
解决方案
找到UserDetailsService
```java
User user = userService.selectByUserName(username);
if (user == null) {
return null;
}
List<String> list = userService.selectRoleByName(username);
Set set = new HashSet();
for (String items : list) {
!!!!对角色进行序列化!!!!!!
GrantedAuthority grantedAuthority = new SimpleGrantedAuthority(items);
set.add(grantedAuthority);
}
MyUserDetail myUserDetail = new MyUserDetail();
myUserDetail.setUsername(username);
//数据库没加密
myUserDetail.setPassword(new BCryptPasswordEncoder().encode(user.getPassword()));
myUserDetail.setAuthorities(set);
return myUserDetail;
本文介绍了如何在Java中处理`java.lang.ClassCastException`,当你试图将String转换为org.springframework.security.core.GrantedAuthority时。详细讲解了UserDetailsService的使用和角色授权的序列化过程,包括从数据库获取用户权限并将其转换为GrantedAuthority对象。
501

被折叠的 条评论
为什么被折叠?



