@Override public boolean equals(Object o) { if (this == o) { return true; } if (o == null || getClass() != o.getClass()) { return false; } ResourceAction that = (ResourceAction) o; if (!getResource().equals(that.getResource())) { return false; } return getAction() == that.getAction(); }
public BasicAuthorizerPermission( ResourceAction resourceAction ) { this.resourceAction = resourceAction; try { this.resourceNamePattern = Pattern.compile(resourceAction.getResource().getName()); } catch (PatternSyntaxException pse) { throw new BasicSecurityDBResourceException( pse, "Invalid permission, resource name regex[%s] does not compile.", resourceAction.getResource().getName() ); } }
@Override public int hashCode() { int result = getResource().hashCode(); result = 31 * result + getAction().hashCode(); return result; }
private boolean permissionCheck(Resource resource, Action action, BasicAuthorizerPermission permission) { if (action != permission.getResourceAction().getAction()) { return false; } Resource permissionResource = permission.getResourceAction().getResource(); if (permissionResource.getType() != resource.getType()) { return false; } Pattern resourceNamePattern = permission.getResourceNamePattern(); Matcher resourceNameMatcher = resourceNamePattern.matcher(resource.getName()); return resourceNameMatcher.matches(); }
ra -> authorizer.authorize( authenticationResult, ra.getResource(), ra.getAction()
resourceAction.getResource(), resourceAction.getAction() );