@Override public boolean isUserInRole(String role) { return this.profiles.stream().anyMatch(p -> p.getRoles().contains(role)); } }
/** * Build a list of authorities from a list of profiles. * * @param profiles a map of profiles * @return a list of authorities */ public static List<GrantedAuthority> buildAuthorities(final List<CommonProfile> profiles) { final List<GrantedAuthority> authorities = new ArrayList<>(); for (final CommonProfile profile : profiles) { final Set<String> roles = profile.getRoles(); for (final String role : roles) { authorities.add(new SimpleGrantedAuthority(role)); } } return authorities; }
@Override public boolean isUserInRole(String role) { if (principal != null) { return profiles.stream().anyMatch(p -> p.getRoles().contains(role)); } else { return original != null && original.isUserInRole(role); } }
public Pac4jAccount(final LinkedHashMap<String, CommonProfile> profiles) { this.roles = new HashSet<>(); this.profiles = ProfileHelper.flatIntoAProfileList(profiles); for (final CommonProfile profile : this.profiles) { final Set<String> roles = profile.getRoles(); for (final String role : roles) { this.roles.add(role); } } final CommonProfile profile = ProfileHelper.flatIntoOneProfile(this.profiles).get(); this.principal = () -> profile.getId(); }
public Pac4jSubject(final CommonProfile profile) { id = profile.getId(); for (final String role : profile.getRoles()) { roles.add(new Pac4jRole(role)); } for (final String permission : profile.getPermissions()) { permissions.add(new Pac4jPermission(permission)); } }
public Pac4jSubject(final CommonProfile profile) { id = profile.getId(); for (final String role : profile.getRoles()) { roles.add(new Pac4jRole(role)); } for (final String permission : profile.getPermissions()) { permissions.add(new Pac4jPermission(permission)); } }
@Override protected AuthorizationInfo doGetAuthorizationInfo(final PrincipalCollection principals) { final Set<String> roles = new HashSet<>(); final Set<String> permissions = new HashSet<>(); final Pac4jPrincipal principal = principals.oneByType(Pac4jPrincipal.class); if (principal != null) { final List<CommonProfile> profiles = principal.getProfiles(); for (CommonProfile profile : profiles) { if (profile != null) { roles.addAll(profile.getRoles()); permissions.addAll(profile.getPermissions()); } } } final SimpleAuthorizationInfo simpleAuthorizationInfo = new SimpleAuthorizationInfo(); simpleAuthorizationInfo.addRoles(roles); simpleAuthorizationInfo.addStringPermissions(permissions); return simpleAuthorizationInfo; } }
/** * 授权信息 */ @Override protected AuthorizationInfo doGetAuthorizationInfo(final PrincipalCollection principals) { Set<String> roles = new HashSet<String>(split(this.defaultRoles)); Set<String> permissions = new HashSet<String>(split(this.defaultPermissions)); // get roles and permissions from principals Collection<CommonProfile> profiles = principals.byType(CommonProfile.class); if (profiles != null) { for (CommonProfile profile : profiles) { if (profile != null) { roles.addAll(profile.getRoles()); permissions.addAll(profile.getPermissions()); } } } // create simple authorization info final SimpleAuthorizationInfo simpleAuthorizationInfo = new SimpleAuthorizationInfo(); simpleAuthorizationInfo.addRoles(roles); simpleAuthorizationInfo.addStringPermissions(permissions); return simpleAuthorizationInfo; }
protected JWTClaimsSet buildJwtClaimsSet(final U profile) { // claims builder with subject and issue time final JWTClaimsSet.Builder builder = new JWTClaimsSet.Builder() .subject(profile.getTypedId()) .issueTime(new Date()); if (this.expirationTime != null) { builder.expirationTime(this.expirationTime); } // add attributes final Map<String, Object> attributes = profile.getAttributes(); for (final Map.Entry<String, Object> entry : attributes.entrySet()) { builder.claim(entry.getKey(), entry.getValue()); } builder.claim(INTERNAL_ROLES, profile.getRoles()); builder.claim(INTERNAL_PERMISSIONS, profile.getPermissions()); // claims return builder.build(); }
LOGGER.debug("Assembled user profile with roles after generating authorization claims [{}]", profile); val authorities = profile.getRoles() .stream() .map(SimpleGrantedAuthority::new)