次の方法で共有


AceStruct クラス

トラスティがレポート サーバー データベースのアイテムで実行可能な操作を指定する、トラスティ (ユーザー、グループ、またはコンピュータ) のアクセス制御エントリです。

名前空間:  Microsoft.ReportingServices.Interfaces
アセンブリ:   Microsoft.ReportingServices.Interfaces (Microsoft.ReportingServices.Interfaces.dll)
  Microsoft.ReportingServices.SharePoint.UI.WebParts (Microsoft.ReportingServices.SharePoint.UI.WebParts.dll)

構文

'宣言
<SerializableAttribute> _
Public Class AceStruct
'使用
Dim instance As AceStruct
[SerializableAttribute]
public class AceStruct
[SerializableAttribute]
public ref class AceStruct
[<SerializableAttribute>]
type AceStruct =  class end
public class AceStruct

説明

AceStruct オブジェクトには、個々のユーザー、グループ、またはコンピュータの操作や権限のコレクションが含まれています。AceStruct オブジェクトのコレクションは、レポート サーバー データベースのアイテムのアクセス制御リストとして機能する AceCollection を構成します。

AceStruct オブジェクトは、レポート サーバー データベースのセキュリティ保護可能なアイテムに関連付けられたセキュリティ記述子にとって重要なコンポーネントです。AceStruct オブジェクトは、プリンシパル ユーザーの名前と、ユーザーがレポート サーバー データベースの特定のアイテムで実行可能な操作が含まれる、データ構造です。AceStruct は、アクセス制御リスト (Reporting Services の AceCollection オブジェクト) の要素であるという点で、既にリリースされているマイクロソフトの他のサーバー製品のアクセス制御エントリに似ています。AceCollection を評価する際、コレクションの一部として AceStruct オブジェクトを 1 つ以上列挙します。C# を使用した単純なアクセス確認は、次のようになります。

// C#
AceCollection acl = DeserializeAcl(secDesc);
foreach(AceStruct ace in acl)
{
   if (userName == ace.PrincipalName)
   {
      foreach(FolderOperation aclOperation in ace.FolderOperations)
      {
         if (aclOperation == requiredOperation)
         return true;
      }
   }
}

アクセス制御エントリを使用する場合は、操作またはトラスティを指定しません。これは、ポリシーを設定してロールを割り当てるために、レポート サーバーとレポート サーバー Web サービスのメソッドによって処理されます。セキュリティ拡張機能では、アクセス制御エントリの処理と、特定の条件セットに基づいたアクセスの許可または拒否のみが必要になります。

継承階層

System. . :: . .Object
  Microsoft.ReportingServices.Interfaces..::..AceStruct

スレッド セーフ

この型の public static (Visual Basic では Shared) のメンバーはすべて、スレッド セーフです。インスタンス メンバーの場合は、スレッド セーフであるとは限りません。