我有一个set<Authority>
,我在.claim中设置了set<Authority>
,并覆盖了Authority中的toString,以返回属性名称。
set<Authority> authorities;
Jwts.builder().claim("Authorities",authorities.toString());
我得到以下json:"[ADMIN,USER]"
我需要这个:["ADMIN","USER"]
如何以正确的方式映射此集合?我可以在Authority类中使用anyanotathion
答案 0 :(得分:0)
检查this答案。
Collection<? extends GrantedAuthority> authorities
= Arrays.asList(claims.get(YOUR_AUTHORITIES_KEY).toString().split(",")).stream()
.map(authority -> new SimpleGrantedAuthority(authority))
.collect(Collectors.toList());