public void defaultPermission() { // tag::dftpermission[] Permission permission = Permission.create("myrole"); // <1> Optional<String> roleName = permission.getPermission(); // <2> // end::dftpermission[] }
@Override public boolean equals(Object obj) { if (this == obj) return true; if (obj == null) return false; if (getClass() != obj.getClass()) return false; PermissionGrantedAuthority other = (PermissionGrantedAuthority) obj; if (permission == null) { if (other.permission != null) return false; } else if (!permission.equals(other.permission)) return false; return true; }
@Override public int hashCode() { final int prime = 31; int result = 1; result = prime * result + ((permission == null) ? 0 : permission.hashCode()); return result; }
@Override public String getAuthority() { return permission.getPermission().orElse(null); }
public void permissions() { // tag::permissions[] GrantedAuthority ga = new SimpleGrantedAuthority("role1"); Permission permission = SpringSecurity.asPermission(ga); // <1> Permission p = Permission.create("role2"); GrantedAuthority grantedAuthority = SpringSecurity.asAuthority(p); // <2> // end::permissions[] }
/** * Get given {@link Permission}s as an array of String permission roles, using {@link Permission#getPermission()}. * @param permissions The permissions to process * @return An array of the String permission roles associated to given permissions, when available */ private static String[] getPermissionRoles(Collection<? extends Permission> permissions) { if (permissions == null || permissions.size() == 0) { return new String[0]; } return permissions.stream().filter(p -> p.getPermission().isPresent()).map(p -> p.getPermission().orElse(null)) .toArray(String[]::new); }
public void permissions() { // tag::permissions[] final Permission p1 = Permission.create("role1"); // <1> final Permission p2 = Permission.create("role2"); // <2> Authentication authc = Authentication.builder("test").withPermission(p1).withPermission(p2).build(); // <3> // Realm with default authorizer Realm realm = Realm.builder().withDefaultAuthorizer().build(); // <4> // permission checking boolean permitted = realm.isPermitted(authc, p1); // <5> permitted = realm.isPermitted(authc, "role1"); // <6> permitted = realm.isPermittedAny(authc, p1, p2); // <7> permitted = realm.isPermittedAny(authc, "role1", "role2"); // <8> boolean notPermitted = realm.isPermitted(authc, "other_role"); // <9> // end::permissions[] }
private static void processAuthPermissions(JwtBuilder builder, Authentication authentication) { builder.claim(AuthenticationClaims.CLAIM_NAME_ROOT, Boolean.valueOf(authentication.isRoot())); Collection<Permission> permissions = authentication.getPermissions(); if (permissions != null && !permissions.isEmpty()) { Collection<String> ps = new ArrayList<>(permissions.size()); for (Permission permission : permissions) { permission.getPermission().ifPresent(p -> ps.add(p)); } if (!ps.isEmpty()) { builder.claim(AuthenticationClaims.CLAIM_NAME_PERMISSIONS, ps); } } }
Collection<String> permissions = (Collection<String>) v; if (permissions != null) { permissions.forEach(p -> auth.withPermission(Permission.create(p)));
Collection<String> permissions = (Collection<String>) v; if (permissions != null) { permissions.forEach(p -> auth.withPermission(Permission.create(p)));