为了账号安全,请及时绑定邮箱和手机立即绑定

如何在java中设置不可修改的随机访问列表以设置<对象>

如何在java中设置不可修改的随机访问列表以设置<对象>

泛舟湖上清波郎朗 2022-08-03 15:09:58
有一个包含用户权限的 Oauth2Authentication 对象。当我想获得它的权威并将其设置为User对象的权威时,如下所示:OAuth2Authentication oAuth2Authentication = (OAuth2Authentication) SecurityContextHolder.getContext().getAuthentication();LinkedHashMap linkedHashMap = (LinkedHashMap) oAuth2Authentication.getUserAuthentication().getDetails();user.setAuthorities((Set<GrantedAuthority>) oAuth2Authentication.getAuthorities());引发以下异常:java.lang.ClassCastException: java.util.Collections$UnmodifiableRandomAccessList 不能 cast to java.util.Set我该如何修复它?注:用户权限对象的类型为Set<GrantedAuthority>
查看完整描述

1 回答

?
芜湖不芜

TA贡献1796条经验 获得超7个赞

如果 是 ,您可以轻松地从中创建一个:oAuth2Authentication.getAuthorities()ListSet

user.setAuthorities(new HashSet<GrantedAuthority>(oAuth2Authentication.getAuthorities()));

请注意,应具有 适当的实现,以便用作 .GrantedAuthorityhashCode()equals()HashSet


查看完整回答
反对 回复 2022-08-03
  • 1 回答
  • 0 关注
  • 93 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信