
org.esfinge.guardian.rbac.authorizer.DenyRolesAuthorizer Maven / Gradle / Ivy
The newest version!
package org.esfinge.guardian.rbac.authorizer;
import java.util.ArrayList;
import java.util.List;
import org.esfinge.guardian.authorizer.Authorizer;
import org.esfinge.guardian.context.AuthorizationContext;
import org.esfinge.guardian.rbac.annotation.authorization.DenyRoles;
import org.esfinge.guardian.rbac.utils.RbacConfig;
public class DenyRolesAuthorizer implements Authorizer {
@Override
public Boolean authorize(AuthorizationContext context, DenyRoles denyRoles) {
RbacConfig rbacConfig = new RbacConfig();
List rolesList = context.getSubject().get(rbacConfig.getRolesKey(), new ArrayList());
String annotatedRole = denyRoles.value();
// TODO: handle situations when more than one role is annotated
return !rolesList.contains(annotatedRole);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy