次の方法で共有


AccessControlledMetadataObject.GetAccessControlList メソッド (Microsoft.Office.Server.ApplicationRegistry.Administration)

ビジネス データ カタログに登録されたメタデータ オブジェクトに関連付けられているアクセス コントロール エントリ (ACE) のリストを返すように設計されている仮想メソッド。

名前空間: Microsoft.Office.Server.ApplicationRegistry.Administration
アセンブリ: Microsoft.SharePoint.Portal (microsoft.sharepoint.portal.dll 内)

構文

'宣言
Public Overridable Function GetAccessControlList As IAccessControlList
'使用
Dim instance As AccessControlledMetadataObject
Dim returnValue As IAccessControlList

returnValue = instance.GetAccessControlList
public virtual IAccessControlList GetAccessControlList ()

戻り値

メタデータ オブジェクトに関連付けられている ACE のリスト。

備考

メタデータ オブジェクトは独自の ACL を所有するか、または独自の ACL を所有する最も近い親オブジェクトから ACL を借用します。(独自の ACL を所有するオブジェクトのことを個別にセキュリティ保護可能であるといいます。)

このメソッドは、それを継承しているどのクラスでも上書きできます。

次のコード例は、ビジネス データ カタログに登録された LobSystem インスタンスの ACL を取得する方法を示しています。

Prerequisites

Project References

このサンプルを実行する前に、コンソール アプリケーション コード プロジェクトに以下のプロジェクト参照を追加します。

  • 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);
            }
        }
    }
}

関連項目

参照

AccessControlledMetadataObject クラス
AccessControlledMetadataObject メンバ
Microsoft.Office.Server.ApplicationRegistry.Administration 名前空間