51 lines
1.3 KiB
Java
51 lines
1.3 KiB
Java
package org.baeldung.security;
|
|
|
|
import org.baeldung.persistence.model.User;
|
|
import org.springframework.security.access.expression.SecurityExpressionRoot;
|
|
import org.springframework.security.access.expression.method.MethodSecurityExpressionOperations;
|
|
import org.springframework.security.core.Authentication;
|
|
|
|
public class CustomMethodSecurityExpressionRoot extends SecurityExpressionRoot implements MethodSecurityExpressionOperations {
|
|
|
|
private Object filterObject;
|
|
private Object returnObject;
|
|
|
|
public CustomMethodSecurityExpressionRoot(Authentication authentication) {
|
|
super(authentication);
|
|
}
|
|
|
|
//
|
|
public boolean isMember(Long OrganizationId) {
|
|
final User user = ((MyUserPrincipal) this.getPrincipal()).getUser();
|
|
return user.getOrganization().getId().longValue() == OrganizationId.longValue();
|
|
}
|
|
|
|
//
|
|
|
|
@Override
|
|
public Object getFilterObject() {
|
|
return this.filterObject;
|
|
}
|
|
|
|
@Override
|
|
public Object getReturnObject() {
|
|
return this.returnObject;
|
|
}
|
|
|
|
@Override
|
|
public Object getThis() {
|
|
return this;
|
|
}
|
|
|
|
@Override
|
|
public void setFilterObject(Object obj) {
|
|
this.filterObject = obj;
|
|
}
|
|
|
|
@Override
|
|
public void setReturnObject(Object obj) {
|
|
this.returnObject = obj;
|
|
}
|
|
|
|
}
|