public int compare(GrantedAuthority g1, GrantedAuthority g2) { // Neither should ever be null as each entry is checked before adding it to // the set. // If the authority is null, it is a custom authority and should precede // others. if (g2.getAuthority() == null) { return -1; } if (g1.getAuthority() == null) { return 1; } return g1.getAuthority().compareTo(g2.getAuthority()); } }
public GrantedAuthoritySid(GrantedAuthority grantedAuthority) { Assert.notNull(grantedAuthority, "GrantedAuthority required"); Assert.notNull( grantedAuthority.getAuthority(), "This Sid is only compatible with GrantedAuthoritys that provide a non-null getAuthority()"); this.grantedAuthority = grantedAuthority.getAuthority(); }
private void addReachableRoles(Set<GrantedAuthority> reachableRoles, GrantedAuthority authority) { for (GrantedAuthority testAuthority : reachableRoles) { String testKey = testAuthority.getAuthority(); if ((testKey != null) && (testKey.equals(authority.getAuthority()))) { return; } } reachableRoles.add(authority); }
public void setValues(PreparedStatement ps) throws SQLException { ps.setInt(1, id); ps.setString(2, authority.getAuthority()); } });
public void setValues(PreparedStatement ps) throws SQLException { ps.setInt(1, id); ps.setString(2, authority.getAuthority()); } });
private void validateAuthorities(Collection<? extends GrantedAuthority> authorities) { Assert.notNull(authorities, "Authorities list must not be null"); for (GrantedAuthority authority : authorities) { Assert.notNull(authority, "Authorities list contains a null entry"); Assert.hasText(authority.getAuthority(), "getAuthority() method must return a non-empty string"); } } }
private String convertAuthorityToGroup(GrantedAuthority authority) { String group = authority.getAuthority(); if (group.startsWith(rolePrefix)) { group = group.substring(rolePrefix.length()); } return group; }
/** * Converts an array of GrantedAuthority objects to a Set. * @return a Set of the Strings obtained from each call to * GrantedAuthority.getAuthority() */ public static Set<String> authorityListToSet( Collection<? extends GrantedAuthority> userAuthorities) { Set<String> set = new HashSet<>(userAuthorities.size()); for (GrantedAuthority authority : userAuthorities) { set.add(authority.getAuthority()); } return set; }
private Map<String, Boolean> createRoleMap(UserDetails userDetails) { Map<String, Boolean> roles = new HashMap<String, Boolean>(); for (GrantedAuthority authority : userDetails.getAuthorities()) { roles.put(authority.getAuthority(), Boolean.TRUE); } return roles; } }
@Override public String getAuthority() { return authority.getAuthority(); } }
public static List<String> toCollectionOfAuthorityStrings( Collection<? extends GrantedAuthority> authorities) { if (authorities == null) { return null; } List<String> result = new ArrayList<>(authorities.size()); for (GrantedAuthority authority : authorities) { result.add(authority.getAuthority()); } return result; }
private void insertUserAuthorities(UserDetails user) { for (GrantedAuthority auth : user.getAuthorities()) { getJdbcTemplate().update(createAuthoritySql, user.getUsername(), auth.getAuthority()); } }
@Override public Mono<AuthorizationDecision> check(Mono<Authentication> authentication, T object) { return authentication .filter(a -> a.isAuthenticated()) .flatMapIterable( a -> a.getAuthorities()) .map(g -> g.getAuthority()) .any(a -> this.authorities.contains(a)) .map( hasAuthority -> new AuthorizationDecision(hasAuthority)) .defaultIfEmpty(new AuthorizationDecision(false)); }
@Test public void testCreateAuthorityList() { List<GrantedAuthority> authorities1 = HierarchicalRolesTestHelper .createAuthorityList("ROLE_A"); assertThat(authorities1).hasSize(1); assertThat(authorities1.get(0).getAuthority()).isEqualTo("ROLE_A"); List<GrantedAuthority> authorities2 = HierarchicalRolesTestHelper .createAuthorityList("ROLE_A", "ROLE_C"); assertThat(authorities2).hasSize(2); assertThat(authorities2.get(0).getAuthority()).isEqualTo("ROLE_A"); assertThat(authorities2.get(1).getAuthority()).isEqualTo("ROLE_C"); } }
@Test public void testCorrectOperationWithTrailingSpaces() { UserAttributeEditor editor = new UserAttributeEditor(); editor.setAsText("password ,ROLE_ONE,ROLE_TWO "); UserAttribute user = (UserAttribute) editor.getValue(); assertThat(user.getPassword()).isEqualTo("password"); assertThat(user.getAuthorities()).hasSize(2); assertThat(user.getAuthorities().get(0).getAuthority()).isEqualTo("ROLE_ONE"); assertThat(user.getAuthorities().get(1).getAuthority()).isEqualTo("ROLE_TWO"); }
@Test public void testDisabledKeyword() { UserAttributeEditor editor = new UserAttributeEditor(); editor.setAsText("password,disabled,ROLE_ONE,ROLE_TWO"); UserAttribute user = (UserAttribute) editor.getValue(); assertThat(user.isValid()).isTrue(); assertThat(!user.isEnabled()).isTrue(); assertThat(user.getPassword()).isEqualTo("password"); assertThat(user.getAuthorities()).hasSize(2); assertThat(user.getAuthorities().get(0).getAuthority()).isEqualTo("ROLE_ONE"); assertThat(user.getAuthorities().get(1).getAuthority()).isEqualTo("ROLE_TWO"); }
@Test public void testEnabledKeyword() { UserAttributeEditor editor = new UserAttributeEditor(); editor.setAsText("password,ROLE_ONE,enabled,ROLE_TWO"); UserAttribute user = (UserAttribute) editor.getValue(); assertThat(user.isValid()).isTrue(); assertThat(user.isEnabled()).isTrue(); assertThat(user.getPassword()).isEqualTo("password"); assertThat(user.getAuthorities()).hasSize(2); assertThat(user.getAuthorities().get(0).getAuthority()).isEqualTo("ROLE_ONE"); assertThat(user.getAuthorities().get(1).getAuthority()).isEqualTo("ROLE_TWO"); }
@Test public void testCorrectOperationWithoutEnabledDisabledKeyword() { UserAttributeEditor editor = new UserAttributeEditor(); editor.setAsText("password,ROLE_ONE,ROLE_TWO"); UserAttribute user = (UserAttribute) editor.getValue(); assertThat(user.isValid()).isTrue(); assertThat(user.isEnabled()).isTrue(); // default assertThat(user.getPassword()).isEqualTo("password"); assertThat(user.getAuthorities()).hasSize(2); assertThat(user.getAuthorities().get(0).getAuthority()).isEqualTo("ROLE_ONE"); assertThat(user.getAuthorities().get(1).getAuthority()).isEqualTo("ROLE_TWO"); }
@Test public void authoritiesWithStringAuthorityWorks() { String authority = "ROLE_USER"; UserDetails userDetails = new UserDetailsManagerConfigurer<AuthenticationManagerBuilder, InMemoryUserDetailsManagerConfigurer<AuthenticationManagerBuilder>>(userDetailsManager) .withUser("user") .password("password") .authorities(authority) .build(); assertThat(userDetails.getAuthorities().stream().findFirst().get().getAuthority()).isEqualTo(authority); }
@Test @WithMockUser public void methodSecurityWhenCustomRunAsManagerThenRunAsWrapsAuthentication() { this.spring.register(CustomRunAsManagerConfig.class, MethodSecurityServiceConfig.class).autowire(); assertThat(service.runAs().getAuthorities()) .anyMatch(authority -> "ROLE_RUN_AS_SUPER".equals(authority.getAuthority())); }