Share via


AccessControlledMetadataObject.GetAccessControlList Method

A virtual method that is designed to return the list of access control entries (ACEs) associated with the metadata object registered in the Business Data Catalog.

Namespace:  Microsoft.Office.Server.ApplicationRegistry.Administration
Assembly:  Microsoft.SharePoint.Portal (in Microsoft.SharePoint.Portal.dll)

Syntax

'Declaration
Public Overridable Function GetAccessControlList As IAccessControlList
'Usage
Dim instance As AccessControlledMetadataObject
Dim returnValue As IAccessControlList

returnValue = instance.GetAccessControlList()
public virtual IAccessControlList GetAccessControlList()

Return Value

Type: Microsoft.Office.Server.ApplicationRegistry.Infrastructure.IAccessControlList
A list of ACEs associated with the metadata object.

Remarks

A metadata object can own its own ACL or borrow it from the nearest parent object that owns its own ACL. (An object that owns its own ACL is termed individually securable).

This method can be overridden by any class that inherits it.

Examples

The following code example shows how to retrieve the ACL for an LobSystem instance that is registered in the Business Data Catalog.

Prerequisites

Project References

Add the following Project References in your console application code project before running this sample:

  • Microsoft.SharePoint

  • Microsoft.SharePoint.Portal

  • Microsoft.Office.Server

using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.Office.Server.ApplicationRegistry.Administration;
using Microsoft.Office.Server.ApplicationRegistry.Infrastructure;
using WSSAdmin = Microsoft.SharePoint.Administration;
using OSSAdmin = Microsoft.Office.Server.Administration;

namespace Microsoft.SDK.SharePointServer.Samples
{
    class GetStartedAndCreateSystem
    {
        const string yourSSPName ="EnterYourSSPNameHere";

        static void Main(string[] args)
        {
            SetupBDC();
            GetAccessControlList();
            Console.WriteLine("Press any key to exit...");
            Console.Read();
        }
        static void SetupBDC()
        {
            SqlSessionProvider.Instance().SetSharedResourceProviderToUse(yourSSPName);
        }
        public static void GetAccessControlList()
        {
            LobSystemInstance mySysInstance = null;
            LobSystemInstanceCollection sysInsCollection = ApplicationRegistry.Instance.GetLobSystemInstancesLikeName("AdventureWorksSampleFromCode");
            foreach (LobSystemInstance sysInstance in sysInsCollection)
            {
                if (sysInstance.Name == "AdventureWorksSampleFromCode")
                {
                    mySysInstance = sysInstance;
                    break;
                }
            }
            LobSystem ls = mySysInstance.LobSystem;
            IAccessControlList acl = ls.GetAccessControlList();

            foreach (IAccessControlEntry ace in acl)
            {
                Console.WriteLine(ace.IdentityName);
                Console.WriteLine(ace.Rights);
            }
        }
    }
}

See Also

Reference

AccessControlledMetadataObject Class

AccessControlledMetadataObject Members

Microsoft.Office.Server.ApplicationRegistry.Administration Namespace