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
共有サービス プロバイダが既に作成されていることを確認します。
「[方法] 管理オブジェクト モデルを使用して LobSystem を作成する」に示されている方法で、LobSystem インスタンスを作成し、接続パラメータを設定します。
「[方法] 管理オブジェクト モデルを使用してエンティティを作成する」に示されている方法で ProductModel エンティティを作成します。
「[方法] 管理オブジェクト モデルを使用してメソッドおよびフィルタを作成する」に示されている方法で Finder メソッドを作成します。
コード内の定数値 EnterYourSSPNameHere を共有リソース プロバイダの名前に置き換えます。
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 名前空間