Class AbstractJcrBackedRoleBindingDao

java.lang.Object
org.pentaho.platform.security.policy.rolebased.AbstractJcrBackedRoleBindingDao
All Implemented Interfaces:
IRoleAuthorizationPolicyRoleBindingDao
Direct Known Subclasses:
JcrRoleAuthorizationPolicyRoleBindingDao

public abstract class AbstractJcrBackedRoleBindingDao extends Object implements IRoleAuthorizationPolicyRoleBindingDao
  • Field Details

    • tenantedRoleNameUtils

      protected org.pentaho.platform.api.mt.ITenantedPrincipleNameResolver tenantedRoleNameUtils
    • immutableRoleBindings

      protected Map<String,List<org.pentaho.platform.api.engine.IAuthorizationAction>> immutableRoleBindings
    • immutableRoleBindingNames

      protected Map<String,List<String>> immutableRoleBindingNames
    • bootstrapRoleBindings

      protected Map<String,List<String>> bootstrapRoleBindings
    • superAdminRoleName

      protected String superAdminRoleName
    • FOLDER_NAME_AUTHZ

      public static final String FOLDER_NAME_AUTHZ
      See Also:
    • FOLDER_NAME_ROLEBASED

      public static final String FOLDER_NAME_ROLEBASED
      See Also:
    • FOLDER_NAME_RUNTIMEROLES

      public static final String FOLDER_NAME_RUNTIMEROLES
      See Also:
  • Constructor Details

    • AbstractJcrBackedRoleBindingDao

      public AbstractJcrBackedRoleBindingDao()
    • AbstractJcrBackedRoleBindingDao

      public AbstractJcrBackedRoleBindingDao(Map<String,List<org.pentaho.platform.api.engine.IAuthorizationAction>> immutableRoleBindings, Map<String,List<String>> bootstrapRoleBindings, String superAdminRoleName, org.pentaho.platform.api.mt.ITenantedPrincipleNameResolver tenantedRoleNameUtils, List<org.pentaho.platform.api.engine.IAuthorizationAction> authorizationActions)
  • Method Details

    • updateImmutableRoleBindingNames

      public void updateImmutableRoleBindingNames()
    • setAuthorizationActions

      public void setAuthorizationActions(List<org.pentaho.platform.api.engine.IAuthorizationAction> authorizationActions)
    • getBoundLogicalRoleNames

      public List<String> getBoundLogicalRoleNames(javax.jcr.Session session, List<String> runtimeRoleNames) throws javax.jcr.NamespaceException, javax.jcr.RepositoryException
      Description copied from interface: IRoleAuthorizationPolicyRoleBindingDao
      This was added to decouple PentahoEntryCollector Gets the logical roles bound to the given runtime roles. Note that the size of the incoming list might not match the size of the returned list. This is a convenience method. The same result could be obtained from #getRoleBindingStruct().
      Specified by:
      getBoundLogicalRoleNames in interface IRoleAuthorizationPolicyRoleBindingDao
      runtimeRoleNames - list of runtime role names
      Returns:
      list of logical role names, never null
      Throws:
      javax.jcr.NamespaceException
      javax.jcr.RepositoryException
    • getBoundLogicalRoleNames

      public List<String> getBoundLogicalRoleNames(javax.jcr.Session session, org.pentaho.platform.api.mt.ITenant tenant, List<String> runtimeRoleNames) throws javax.jcr.NamespaceException, javax.jcr.RepositoryException
      Description copied from interface: IRoleAuthorizationPolicyRoleBindingDao
      This was added to decouple PentahoEntryCollector Gets the logical roles bound to the given runtime roles in a particular tenant. Note that the size of the incoming list might not match the size of the returned list. This is a convenience method. The same result could be obtained from #getRoleBindingStruct().
      Specified by:
      getBoundLogicalRoleNames in interface IRoleAuthorizationPolicyRoleBindingDao
      runtimeRoleNames - list of runtime role names
      Returns:
      list of logical role names, never null
      Throws:
      javax.jcr.NamespaceException
      javax.jcr.RepositoryException
    • setRoleBindings

      public void setRoleBindings(javax.jcr.Session session, org.pentaho.platform.api.mt.ITenant tenant, String runtimeRoleName, List<String> logicalRoleNames) throws javax.jcr.NamespaceException, javax.jcr.RepositoryException
      Throws:
      javax.jcr.NamespaceException
      javax.jcr.RepositoryException
    • isImmutable

      protected boolean isImmutable(String runtimeRoleName)
    • getRoleBindings

      protected Map<String,List<String>> getRoleBindings(javax.jcr.Session session, org.pentaho.platform.api.mt.ITenant tenant) throws javax.jcr.RepositoryException
      Throws:
      javax.jcr.RepositoryException
    • getRoleBindingStruct

      public RoleBindingStruct getRoleBindingStruct(javax.jcr.Session session, org.pentaho.platform.api.mt.ITenant tenant, String locale) throws javax.jcr.RepositoryException
      Throws:
      javax.jcr.RepositoryException
    • getMapForLocale

      protected Map<String,String> getMapForLocale(String localeString)
    • getRuntimeRolesFolderNode

      public javax.jcr.Node getRuntimeRolesFolderNode(javax.jcr.Session session, org.pentaho.platform.api.mt.ITenant tenant) throws javax.jcr.RepositoryException
      Throws:
      javax.jcr.RepositoryException