0
我想更改用戶的角色。改變用戶在數據庫中的角色。一切都基於Spring Security。通過userDetailsManager更改用戶角色
我的代碼:
UserDetails user = userDetailsManager.loadUserByUsername(userData.getUser().getUsername());
user.getAuthorities().add(new SimpleGrantedAuthority(role));
userDetailsManager.updateUser(user);
錯誤:
Error:(99, 30) java: method add in interface java.util.Collection<E> cannot be applied to
given types;
required: capture#1 of ? extends org.springframework.security.core.GrantedAuthority
found: org.springframework.security.core.authority.SimpleGrantedAuthority
reason: actual argument
org.springframework.security.core.authority.SimpleGrantedAuthority cannot be converted to
capture#1 of ? extends org.springframework.security.core.GrantedAuthority by method
invocation conversion
我不知道這是爲什麼錯誤。如何以其他方式改變用戶的角色?
待辦事項SimpleGrantedAuthority延伸的GrantedAuthority?你能顯示它的代碼嗎? –
是的,它實現了這個接口。 – mkjasinski
嘗試 'GrantedAuthority ga = new SimpleGrantedAuthority(role); user.getAuthorities()。add(ga);' –