IAccessControlList 接口 (Microsoft.Office.Server.ApplicationRegistry.Infrastructure)

Provides a list of access control entries, specifying access rights for one or more trustees in the Business Data Catalog.

命名空间: Microsoft.Office.Server.ApplicationRegistry.Infrastructure
程序集: Microsoft.SharePoint.Portal (在 microsoft.sharepoint.portal.dll 中)

语法

声明
Public Interface IAccessControlList
    Inherits IEnumerable(Of IAccessControlEntry)
用法
Dim instance As IAccessControlList
public interface IAccessControlList : IEnumerable<IAccessControlEntry>

示例

The following code example shows you how to retrieve the access control list (ACL) for an LobSystem 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);
            }
        }
    }
}

另请参阅

参考

IAccessControlList 成员
Microsoft.Office.Server.ApplicationRegistry.Infrastructure 命名空间