Class AbstractJcrBackedRoleBindingDao

    • Field Detail

      • tenantedRoleNameUtils

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

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

        protected String superAdminRoleName
    • Constructor Detail

      • 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 Detail

      • 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
      • 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