コード例 #1
0
        /// <summary>
        /// Get the access control list (ACL) for a node.
        /// </summary>
        /// <param name="repositoryName">The name of the Glyma repository.</param>
        /// <param name="domainId">The GUID of the node's domain.</param>
        /// <param name="rootMapId">The GUID of the node's root map.</param>
        /// <param name="mapId">The GUID of the node's parent map.</param>
        /// <param name="nodeId">The GUID of the node to retrieve details from.</param>
        /// <param name="entityFields">A ITypeDescriptorCollection object that contains the fields to retrieve for each node.</param>
        /// <returns></returns>
        public byte[] GetNodeAcl(string repositoryName, Guid domainId, Guid rootMapId, Guid mapId, Guid nodeId, ITypeDescriptorCollection entityFields)
        {
            GlymaSearchLogger.WriteTrace(LogCategoryId.Connector, TraceSeverity.Verbose, "GetNodeAcl(" + repositoryName + ", " + domainId + ", " + rootMapId + ", " + mapId + ", " + nodeId + ")");

            byte[] nodeAcl = null;

            if (IsSecurityEnabled)
            {
                nodeAcl = SecurityManager.GetNodeAcl(MapRepository.GetDatabaseName(), repositoryName, domainId, rootMapId);
            }
            else
            {
                nodeAcl = SecurityManager.GetAllowAllNodeAcl(repositoryName, domainId, rootMapId);
            }

            return(nodeAcl);
        }