Remove the ROLE_ prefix

pull/41/head
zhengjie 2019-03-01 10:12:28 +08:00
parent b5b3056540
commit 7fbefa9a1c
3 changed files with 10 additions and 14 deletions

View File

@ -12,9 +12,9 @@ import org.springframework.security.authentication.AuthenticationManager;
import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder; import org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder;
import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity; import org.springframework.security.config.annotation.method.configuration.EnableGlobalMethodSecurity;
import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.builders.WebSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity; import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter; import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
import org.springframework.security.config.core.GrantedAuthorityDefaults;
import org.springframework.security.config.http.SessionCreationPolicy; import org.springframework.security.config.http.SessionCreationPolicy;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.security.crypto.password.PasswordEncoder; import org.springframework.security.crypto.password.PasswordEncoder;
@ -50,6 +50,12 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter {
.passwordEncoder(passwordEncoderBean()); .passwordEncoder(passwordEncoderBean());
} }
@Bean
GrantedAuthorityDefaults grantedAuthorityDefaults() {
// Remove the ROLE_ prefix
return new GrantedAuthorityDefaults("");
}
@Bean @Bean
public PasswordEncoder passwordEncoderBean() { public PasswordEncoder passwordEncoderBean() {
return new BCryptPasswordEncoder(); return new BCryptPasswordEncoder();

View File

@ -5,12 +5,10 @@ import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import org.springframework.security.core.GrantedAuthority; import org.springframework.security.core.GrantedAuthority;
import org.springframework.security.core.userdetails.UserDetails; import org.springframework.security.core.userdetails.UserDetails;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.Collection; import java.util.Collection;
import java.util.Date; import java.util.Date;
import java.util.LinkedHashSet; import java.util.stream.Collectors;
import java.util.Set;
/** /**
* @author jie * @author jie
@ -71,15 +69,7 @@ public class JwtUser implements UserDetails {
return enabled; return enabled;
} }
/**
* ROLE_
* @return
*/
public Collection getRoles() { public Collection getRoles() {
Set<String> roles = new LinkedHashSet<>(); return authorities.stream().map(GrantedAuthority::getAuthority).collect(Collectors.toSet());
for (GrantedAuthority authority : authorities) {
roles.add(authority.getAuthority().substring(5));
}
return roles;
} }
} }

View File

@ -80,7 +80,7 @@ public class JwtUserDetailsService implements UserDetailsService {
} }
return permissions.stream() return permissions.stream()
.map(permission -> new SimpleGrantedAuthority("ROLE_"+permission.getName())) .map(permission -> new SimpleGrantedAuthority(permission.getName()))
.collect(Collectors.toList()); .collect(Collectors.toList());
} }
} }