下面列出了org.springframework.security.core.authority.mapping.SimpleAuthorityMapper#setConvertToUpperCase ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
KeycloakAuthenticationProvider keycloakAuthenticationProvider = keycloakAuthenticationProvider();
SimpleAuthorityMapper grantedAuthorityMapper = new SimpleAuthorityMapper();
grantedAuthorityMapper.setPrefix("ROLE_");
grantedAuthorityMapper.setConvertToUpperCase(true);
keycloakAuthenticationProvider.setGrantedAuthoritiesMapper(grantedAuthorityMapper);
auth.authenticationProvider(keycloakAuthenticationProvider);
}
/**
* @return a jwt authorities extractor which interprets the roles of a user
* as their authorities.
*/
@Bean
@ConditionalOnMissingBean
public JwtAuthoritiesExtractor jwtAuthoritiesExtractor() {
final SimpleAuthorityMapper authorityMapper = new SimpleAuthorityMapper();
authorityMapper.setPrefix("");
authorityMapper.setConvertToUpperCase(true);
return new JwtAuthoritiesExtractor(authorityMapper);
}
@Before
public void setUp() throws Exception {
MockitoAnnotations.initMocks(this);
SimpleAuthorityMapper roleMapper = new SimpleAuthorityMapper();
roleMapper.setConvertToUpperCase(true);
grantedAuthoritiesMapper = roleMapper;
PowerMockito.mockStatic(AdapterUtils.class);
when(AdapterUtils.getRolesFromSecurityContext(any(RefreshableKeycloakSecurityContext.class))).thenReturn(AUTHORITIES);
when(AdapterUtils.createPrincipal(eq(deployment), eq(context))).thenReturn(principal);
}
@Test
public void testGrantedAuthoritiesMapper() throws Exception {
SimpleAuthorityMapper grantedAuthorityMapper = new SimpleAuthorityMapper();
grantedAuthorityMapper.setPrefix("ROLE_");
grantedAuthorityMapper.setConvertToUpperCase(true);
provider.setGrantedAuthoritiesMapper(grantedAuthorityMapper);
Authentication result = provider.authenticate(token);
assertEquals(Sets.newSet("ROLE_USER", "ROLE_ADMIN"),
AuthorityUtils.authorityListToSet(result.getAuthorities()));
}