【发布时间】:2019-03-11 22:13:56
【问题描述】:
有一个包含用户权限的 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 不能强制转换为 java.util.Set
我该如何解决?
注意:
User 对象的 Authorities 类型为Set<GrantedAuthority>
【问题讨论】:
标签: java spring-security oauth-2.0 spring-security-oauth2 unmodifiable