All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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