Class PermissionServiceImpl

    • Field Detail

      • RESOURCES_PROPERTY

        public static final java.lang.String RESOURCES_PROPERTY
        See Also:
        Constant Field Values
      • PROPERTY_CONTENT_TYPE

        public static final java.lang.String PROPERTY_CONTENT_TYPE
        See Also:
        Constant Field Values
      • PROPERTY_API_EXTENSIONS

        public static final java.lang.String PROPERTY_API_EXTENSIONS
        See Also:
        Constant Field Values
      • PROPERTY_METHOD_MASK

        public static final java.lang.String PROPERTY_METHOD_MASK
        See Also:
        Constant Field Values
      • PROPERTY_PATH_TEMPLATE_MASK

        public static final java.lang.String PROPERTY_PATH_TEMPLATE_MASK
        See Also:
        Constant Field Values
      • PROPERTY_PERMISSIONS_MASK

        public static final java.lang.String PROPERTY_PERMISSIONS_MASK
        See Also:
        Constant Field Values
      • RESOURCE_PERMISSION_KEY_MASK

        public static final java.lang.String RESOURCE_PERMISSION_KEY_MASK
        See Also:
        Constant Field Values
      • RESOURCE_PERMISSION_VALUE

        public static final java.lang.String RESOURCE_PERMISSION_VALUE
        See Also:
        Constant Field Values
      • EXTENSION_SEPARATOR

        public static final java.lang.String EXTENSION_SEPARATOR
        See Also:
        Constant Field Values
      • tenantId

        protected final long tenantId
    • Method Detail

      • checkAPICallWithScript

        public boolean checkAPICallWithScript​(java.lang.String className,
                                              org.bonitasoft.engine.api.permission.APICallContext context,
                                              boolean reload)
                                       throws SExecutionException,
                                              java.lang.ClassNotFoundException
        Description copied from interface: PermissionService
        execute the PermissionRule having the class name in parameter using the given context
        Specified by:
        checkAPICallWithScript in interface PermissionService
        Parameters:
        className - the class name of the rule to execute
        context - the context of the api call to check
        reload - reload class when calling this method, warning if some class were called with reload set to false, they will never be reloadable
        Returns:
        true if the security script allows the user to make the api call
        Throws:
        SExecutionException
        java.lang.ClassNotFoundException
      • createAPIAccessorImpl

        protected APIAccessorImpl createAPIAccessorImpl()
      • getDeclaredPermissions

        protected java.util.Set<java.lang.String> getDeclaredPermissions​(java.lang.String apiName,
                                                                         java.lang.String resourceName,
                                                                         java.lang.String method,
                                                                         java.lang.String resourceQualifiers,
                                                                         ResourcesPermissionsMapping resourcesPermissionsMapping)
      • addPermissions

        public void addPermissions​(java.lang.String pageName,
                                   java.util.Properties pageProperties)
        Specified by:
        addPermissions in interface PermissionService
      • getCustomPagePermissions

        public java.util.Set<java.lang.String> getCustomPagePermissions​(java.lang.String declaredPageResources,
                                                                        ResourcesPermissionsMapping resourcesPermissionsMapping)
      • addCustomEntityPermissions

        public void addCustomEntityPermissions​(java.lang.String entity,
                                               java.util.Set<java.lang.String> resourcePermissions)
      • removeCustomEntityPermissions

        public void removeCustomEntityPermissions​(java.lang.String entity)