IAuthorizationExtension.CheckAccess Methode

Definition

Gibt an, ob einem Benutzer für einen angegebenen Vorgang eine Zugriffsberechtigung für ein Element in der Berichtsserver-Datenbank erteilt wird.

Überlädt

CheckAccess(String, IntPtr, Byte[], CatalogOperation)

Gibt an, ob einem Benutzer für einen angegebenen Katalogvorgang eine Zugriffsberechtigung für ein Element in der Berichtsserver-Datenbank erteilt wird.

CheckAccess(String, IntPtr, Byte[], CatalogOperation[])

Gibt an, ob einem Benutzer für ein angegebenes Array von Katalogvorgängen eine Zugriffsberechtigung für ein Element in der Berichtsserver-Datenbank erteilt wird.

CheckAccess(String, IntPtr, Byte[], DatasourceOperation)

Gibt an, ob einem Benutzer für einen angegebenen Datenquellenvorgang eine Zugriffsberechtigung für ein Element in der Berichtsserver-Datenbank erteilt wird.

CheckAccess(String, IntPtr, Byte[], FolderOperation)

Gibt an, ob einem Benutzer für einen angegebenen Ordnervorgang eine Zugriffsberechtigung für ein Element in der Berichtsserver-Datenbank erteilt wird.

CheckAccess(String, IntPtr, Byte[], FolderOperation[])

Überprüft anhand einer Sicherheitsbeschreibung, ob die Anmeldeinformationen zur Autorisierung einen Benutzer berechtigen, Vorgänge für ein Element in der Berichtsserver-Datenbank auszuführen.

CheckAccess(String, IntPtr, Byte[], ModelItemOperation)

Gibt an, ob einem Benutzer für einen angegebenen Modellelementvorgang eine Zugriffsberechtigung für ein Element in der Berichtsserver-Datenbank erteilt wird.

CheckAccess(String, IntPtr, Byte[], ModelOperation)

Gibt einen Wert an, ob ein Benutzer autorisiert ist, auf ein Element in der Berichtsserverdatenbank für einen bestimmten Modellvorgang zuzugreifen.

CheckAccess(String, IntPtr, Byte[], ReportOperation)

Gibt an, ob einem Benutzer für einen angegebenen Berichtsvorgang eine Zugriffsberechtigung für ein Element in der Berichtsserver-Datenbank erteilt wird.

CheckAccess(String, IntPtr, Byte[], ResourceOperation)

Gibt an, ob einem Benutzer für einen angegebenen Ressourcenvorgang eine Zugriffsberechtigung für ein Element in der Berichtsserver-Datenbank erteilt wird.

CheckAccess(String, IntPtr, Byte[], ResourceOperation[])

Gibt an, ob einem Benutzer für ein angegebenes Array von Ressourcenvorgängen eine Zugriffsberechtigung für ein Element in der Berichtsserver-Datenbank erteilt wird.

CheckAccess(String, IntPtr, Byte[], CatalogOperation)

Gibt an, ob einem Benutzer für einen angegebenen Katalogvorgang eine Zugriffsberechtigung für ein Element in der Berichtsserver-Datenbank erteilt wird.

public:
 bool CheckAccess(System::String ^ userName, IntPtr userToken, cli::array <System::Byte> ^ secDesc, Microsoft::ReportingServices::Interfaces::CatalogOperation requiredOperation);
public bool CheckAccess (string userName, IntPtr userToken, byte[] secDesc, Microsoft.ReportingServices.Interfaces.CatalogOperation requiredOperation);
abstract member CheckAccess : string * nativeint * byte[] * Microsoft.ReportingServices.Interfaces.CatalogOperation -> bool
Public Function CheckAccess (userName As String, userToken As IntPtr, secDesc As Byte(), requiredOperation As CatalogOperation) As Boolean

Parameter

userName
String

Der Name des Benutzers, der Zugriff auf den Berichtsserver anfordert.

userToken
IntPtr

nativeint

Ein Benutzerkontotoken. Dieses Token wird hauptsächlich vom Berichtsserver als Handle für ein Microsoft Windows-Konto verwendet, um die Verwaltung von Anmeldeinformationen für die Windows-Authentifizierung zu unterstützen.

secDesc
Byte[]

Die Sicherheitsbeschreibung für das Element.

requiredOperation
CatalogOperation

Der vom Berichtsserver für einen angegebenen Benutzer angeforderte Vorgang.

Gibt zurück

Gibt true zurück, wenn dem derzeit authentifizierten Benutzer auf Grundlage des angegebenen Vorgangs und der angegebenen Sicherheitsbeschreibung Zugriff auf das Element erteilt wird.

Beispiele

Der folgende Beispielcode verwendet die [CheckAccess-Methode (String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A-Methode> , um die Autorisierungsanmeldeinformationen eines Benutzers anhand eines Sicherheitsdeskriptors für ein Element in der Berichtsserverdatenbank zu bewerten.

Public Function CheckAccess(userName As String, userToken As IntPtr, secDesc() As Byte, requiredOperation As CatalogOperation) As Boolean  
   Dim acl As AceCollection = DeserializeAcl(secDesc)  
   Dim ace As AceStruct  
   For Each ace In  acl  
      ' First check to see if the user or group has an access control entry for the item  
      If userName = ace.PrincipalName Then  
         ' If an entry is found, return true if the given required operation  
         ' is contained in the ACE structure.  
         Dim aclOperation As CatalogOperation  
         For Each aclOperation In  ace.CatalogOperations  
            If aclOperation = requiredOperation Then  
               Return True  
            End If  
         Next aclOperation  
      End If  
   Next ace  
   Return False  
End Function 'CheckAccess  

Private Function DeserializeAcl(secDesc() As Byte) As AceCollection  
   Dim bf As New BinaryFormatter()  
   Dim sdStream As New MemoryStream(secDesc)  
   Dim acl As AceCollection = CType(bf.Deserialize(sdStream), AceCollection)  
   Return acl  
End Function 'DeserializeAcl  
public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, CatalogOperation requiredOperation)  
{  
   AceCollection acl = DeserializeAcl(secDesc);  
   foreach(AceStruct ace in acl)  
   {  
       // First check to see if the user or group has an access control entry for the item  
      if (userName == ace.PrincipalName)  
      {  
          // If an entry is found, return true if the given required operation  
          // is contained in the ACE structure.  
         foreach(CatalogOperation aclOperation in ace.CatalogOperations)  
         {  
             if (aclOperation == requiredOperation)  
                return true;  
         }  
      }  
   }  
   return false;  
}  

private AceCollection DeserializeAcl(byte[] secDesc)  
{  
   BinaryFormatter bf = new BinaryFormatter();  
   MemoryStream sdStream = new MemoryStream(secDesc);  
   AceCollection acl = (AceCollection)bf.Deserialize(sdStream);  
   return acl;  
}  

Gilt für:

CheckAccess(String, IntPtr, Byte[], CatalogOperation[])

Gibt an, ob einem Benutzer für ein angegebenes Array von Katalogvorgängen eine Zugriffsberechtigung für ein Element in der Berichtsserver-Datenbank erteilt wird.

public:
 bool CheckAccess(System::String ^ userName, IntPtr userToken, cli::array <System::Byte> ^ secDesc, cli::array <Microsoft::ReportingServices::Interfaces::CatalogOperation> ^ requiredOperations);
public bool CheckAccess (string userName, IntPtr userToken, byte[] secDesc, Microsoft.ReportingServices.Interfaces.CatalogOperation[] requiredOperations);
abstract member CheckAccess : string * nativeint * byte[] * Microsoft.ReportingServices.Interfaces.CatalogOperation[] -> bool
Public Function CheckAccess (userName As String, userToken As IntPtr, secDesc As Byte(), requiredOperations As CatalogOperation()) As Boolean

Parameter

userName
String

Der Name des Benutzers, der Zugriff auf den Berichtsserver anfordert.

userToken
IntPtr

nativeint

Ein Benutzerkontotoken. Dieses Token wird hauptsächlich vom Berichtsserver als Handle für ein Microsoft Windows-Konto verwendet, um die Verwaltung von Anmeldeinformationen für die Windows-Authentifizierung zu unterstützen.

secDesc
Byte[]

Die Sicherheitsbeschreibung für das Element.

requiredOperations
CatalogOperation[]

Die vom Berichtsserver für einen angegebenen Benutzer angeforderten Vorgänge.

Gibt zurück

Gibt true zurück, wenn dem derzeit authentifizierten Benutzer auf Grundlage des angegebenen Vorgangs und der angegebenen Sicherheitsbeschreibung Zugriff auf das Element erteilt wird.

Beispiele

Der folgende Beispielcode verwendet die [CheckAccess-Methode (String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A-Methode> , um die Autorisierungsanmeldeinformationen eines Benutzers anhand eines Sicherheitsdeskriptors für ein Element in der Berichtsserverdatenbank zu bewerten. Das Beispiel verwendet die überladene [CheckAccess-Methode (String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A-Methode> , die einen einzelnen Vorgang als Argument verwendet.

' Overload for array of catalog operations  
Public Function CheckAccess(userName As String, userToken As IntPtr, secDesc() As Byte, requiredOperations() As CatalogOperation) As Boolean  
   Dim operation As CatalogOperation  
   For Each operation In  requiredOperations  
      If Not CheckAccess(userName, userToken, secDesc, operation) Then  
         Return False  
      End If  
   Next operation  
   Return True  
End Function 'CheckAccess  
// Overload for array of catalog operations  
public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, CatalogOperation[] requiredOperations)  
{  
   foreach(CatalogOperation operation in requiredOperations)  
   {  
      if (!CheckAccess(userName, userToken, secDesc, operation))  
         return false;  
   }  
   return true;   
}  

Gilt für:

CheckAccess(String, IntPtr, Byte[], DatasourceOperation)

Gibt an, ob einem Benutzer für einen angegebenen Datenquellenvorgang eine Zugriffsberechtigung für ein Element in der Berichtsserver-Datenbank erteilt wird.

public:
 bool CheckAccess(System::String ^ userName, IntPtr userToken, cli::array <System::Byte> ^ secDesc, Microsoft::ReportingServices::Interfaces::DatasourceOperation requiredOperation);
public bool CheckAccess (string userName, IntPtr userToken, byte[] secDesc, Microsoft.ReportingServices.Interfaces.DatasourceOperation requiredOperation);
abstract member CheckAccess : string * nativeint * byte[] * Microsoft.ReportingServices.Interfaces.DatasourceOperation -> bool
Public Function CheckAccess (userName As String, userToken As IntPtr, secDesc As Byte(), requiredOperation As DatasourceOperation) As Boolean

Parameter

userName
String

Der Name des Benutzers, der Zugriff auf den Berichtsserver anfordert.

userToken
IntPtr

nativeint

Ein Benutzerkontotoken. Dieses Token wird hauptsächlich vom Berichtsserver als Handle für ein Microsoft Windows-Konto verwendet, um die Verwaltung von Anmeldeinformationen für die Windows-Authentifizierung zu unterstützen.

secDesc
Byte[]

Die Sicherheitsbeschreibung für das Element.

requiredOperation
DatasourceOperation

Der vom Berichtsserver für einen angegebenen Benutzer angeforderte Vorgang.

Gibt zurück

Gibt true zurück, wenn dem derzeit authentifizierten Benutzer auf Grundlage des angegebenen Vorgangs und der angegebenen Sicherheitsbeschreibung Zugriff auf das Element erteilt wird.

Beispiele

Der folgende Beispielcode verwendet die [CheckAccess-Methode (String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A-Methode> , um die Autorisierungsanmeldeinformationen eines Benutzers anhand eines Sicherheitsdeskriptors für ein Element in der Berichtsserverdatenbank zu bewerten.

Public Function CheckAccess(userName As String, userToken As IntPtr, secDesc() As Byte, requiredOperation As DatasourceOperation) As Boolean  
   Dim acl As AceCollection = DeserializeAcl(secDesc)  
   Dim ace As AceStruct  
   For Each ace In  acl  
      ' First check to see if the user or group has an access control entry for the item  
      If userName = ace.PrincipalName Then  
         ' If an entry is found, return true if the given required operation  
         ' is contained in the ACE structure.  
         Dim aclOperation As DatasourceOperation  
         For Each aclOperation In  ace.DatasourceOperations  
            If aclOperation = requiredOperation Then  
               Return True  
            End If  
         Next aclOperation  
      End If  
   Next ace  
   Return False  
End Function 'CheckAccess  
Private Function DeserializeAcl(secDesc() As Byte) As AceCollection  
   Dim bf As New BinaryFormatter()  
   Dim sdStream As New MemoryStream(secDesc)  
   Dim acl As AceCollection = CType(bf.Deserialize(sdStream), AceCollection)  
   Return acl  
End Function 'DeserializeAcl  
public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, DatasourceOperation requiredOperation)  
{  
   AceCollection acl = DeserializeAcl(secDesc);  
   foreach(AceStruct ace in acl)  
   {  
       // First check to see if the user or group has an access control entry for the item  
      if (userName == ace.PrincipalName)  
      {  
          // If an entry is found, return true if the given required operation  
          // is contained in the ACE structure.  
         foreach(DatasourceOperation aclOperation in ace.DatasourceOperations)  
         {  
             if (aclOperation == requiredOperation)  
                return true;  
         }  
      }  
   }  
   return false;  
}  

private AceCollection DeserializeAcl(byte[] secDesc)  
{  
   BinaryFormatter bf = new BinaryFormatter();  
   MemoryStream sdStream = new MemoryStream(secDesc);  
   AceCollection acl = (AceCollection)bf.Deserialize(sdStream);  
   return acl;  
}  

Gilt für:

CheckAccess(String, IntPtr, Byte[], FolderOperation)

Gibt an, ob einem Benutzer für einen angegebenen Ordnervorgang eine Zugriffsberechtigung für ein Element in der Berichtsserver-Datenbank erteilt wird.

public:
 bool CheckAccess(System::String ^ userName, IntPtr userToken, cli::array <System::Byte> ^ secDesc, Microsoft::ReportingServices::Interfaces::FolderOperation requiredOperation);
public bool CheckAccess (string userName, IntPtr userToken, byte[] secDesc, Microsoft.ReportingServices.Interfaces.FolderOperation requiredOperation);
abstract member CheckAccess : string * nativeint * byte[] * Microsoft.ReportingServices.Interfaces.FolderOperation -> bool
Public Function CheckAccess (userName As String, userToken As IntPtr, secDesc As Byte(), requiredOperation As FolderOperation) As Boolean

Parameter

userName
String

Der Name des Benutzers, der Zugriff auf den Berichtsserver anfordert.

userToken
IntPtr

nativeint

Ein Benutzerkontotoken. Dieses Token wird hauptsächlich vom Berichtsserver als Handle für ein Microsoft Windows-Konto verwendet, um die Verwaltung von Anmeldeinformationen für die Windows-Authentifizierung zu unterstützen.

secDesc
Byte[]

Die Sicherheitsbeschreibung für das Element.

requiredOperation
FolderOperation

Der vom Berichtsserver für einen angegebenen Benutzer angeforderte Vorgang.

Gibt zurück

Gibt true zurück, wenn dem derzeit authentifizierten Benutzer auf Grundlage des angegebenen Vorgangs und der angegebenen Sicherheitsbeschreibung Zugriff auf das Element erteilt wird.

Beispiele

Der folgende Beispielcode verwendet die [CheckAccess-Methode (String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A-Methode> , um die Autorisierungsanmeldeinformationen eines Benutzers anhand eines Sicherheitsdeskriptors für ein Element in der Berichtsserverdatenbank zu bewerten.

Public Function CheckAccess(userName As String, userToken As IntPtr, secDesc() As Byte, requiredOperation As FolderOperation) As Boolean  
   Dim acl As AceCollection = DeserializeAcl(secDesc)  
   Dim ace As AceStruct  
   For Each ace In  acl  
      ' First check to see if the user or group has an access control entry for the item  
      If userName = ace.PrincipalName Then  
         ' If an entry is found, return true if the given required operation  
         ' is contained in the ACE structure.  
         Dim aclOperation As FolderOperation  
         For Each aclOperation In  ace.FolderOperations  
            If aclOperation = requiredOperation Then  
               Return True  
            End If  
         Next aclOperation  
      End If  
   Next ace  
   Return False  
End Function 'CheckAccess  

Private Function DeserializeAcl(secDesc() As Byte) As AceCollection  
   Dim bf As New BinaryFormatter()  
   Dim sdStream As New MemoryStream(secDesc)  
   Dim acl As AceCollection = CType(bf.Deserialize(sdStream), AceCollection)  
   Return acl  
End Function 'DeserializeAcl  
public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, FolderOperation requiredOperation)  
{  
   AceCollection acl = DeserializeAcl(secDesc);  
   foreach(AceStruct ace in acl)  
   {  
       // First check to see if the user or group has an access control entry for the item  
      if (userName == ace.PrincipalName)  
      {  
          // If an entry is found, return true if the given required operation  
          // is contained in the ACE structure.  
         foreach(FolderOperation aclOperation in ace.FolderOperations)  
         {  
             if (aclOperation == requiredOperation)  
                return true;  
         }  
      }  
   }  
   return false;  
}  

private AceCollection DeserializeAcl(byte[] secDesc)  
{  
   BinaryFormatter bf = new BinaryFormatter();  
   MemoryStream sdStream = new MemoryStream(secDesc);  
   AceCollection acl = (AceCollection)bf.Deserialize(sdStream);  
   return acl;  
}  

Gilt für:

CheckAccess(String, IntPtr, Byte[], FolderOperation[])

Überprüft anhand einer Sicherheitsbeschreibung, ob die Anmeldeinformationen zur Autorisierung einen Benutzer berechtigen, Vorgänge für ein Element in der Berichtsserver-Datenbank auszuführen.

public:
 bool CheckAccess(System::String ^ userName, IntPtr userToken, cli::array <System::Byte> ^ secDesc, cli::array <Microsoft::ReportingServices::Interfaces::FolderOperation> ^ requiredOperations);
public bool CheckAccess (string userName, IntPtr userToken, byte[] secDesc, Microsoft.ReportingServices.Interfaces.FolderOperation[] requiredOperations);
abstract member CheckAccess : string * nativeint * byte[] * Microsoft.ReportingServices.Interfaces.FolderOperation[] -> bool
Public Function CheckAccess (userName As String, userToken As IntPtr, secDesc As Byte(), requiredOperations As FolderOperation()) As Boolean

Parameter

userName
String

Der Name des Benutzers, der Zugriff auf den Berichtsserver anfordert.

userToken
IntPtr

nativeint

Ein Benutzerkontotoken. Dieses Token wird hauptsächlich vom Berichtsserver als Handle für ein Microsoft Windows-Konto verwendet, um die Verwaltung von Anmeldeinformationen für die Windows-Authentifizierung zu unterstützen.

secDesc
Byte[]

Die Sicherheitsbeschreibung für das Element.

requiredOperations
FolderOperation[]

Die vom Berichtsserver für einen angegebenen Benutzer angeforderten Vorgänge.

Gibt zurück

Gibt true zurück, wenn dem derzeit authentifizierten Benutzer auf Grundlage des angegebenen Vorgangs und der angegebenen Sicherheitsbeschreibung Zugriff auf das Element erteilt wird.

Beispiele

Der folgende Beispielcode verwendet die [CheckAccess-Methode (String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A-Methode> , um die Autorisierungsanmeldeinformationen eines Benutzers anhand eines Sicherheitsdeskriptors für ein Element in der Berichtsserverdatenbank zu bewerten. Das Beispiel verwendet die überladene [CheckAccess-Methode (String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A-Methode> , die einen einzelnen Vorgang als Argument verwendet.

' Overload for array of folder operations  
Public Function CheckAccess(userName As String, userToken As IntPtr, secDesc() As Byte, requiredOperations() As FolderOperation) As Boolean  
   Dim operation As FolderOperation  
   For Each operation In  requiredOperations  
      If Not CheckAccess(userName, userToken, secDesc, operation) Then  
         Return False  
      End If  
   Next operation  
   Return True  
End Function 'CheckAccess  
// Overload for array of folder operations  
public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, FolderOperation[] requiredOperations)  
{  
   foreach(FolderOperation operation in requiredOperations)  
   {  
      if (!CheckAccess(userName, userToken, secDesc, operation))  
         return false;  
   }  
   return true;   
}  

Gilt für:

CheckAccess(String, IntPtr, Byte[], ModelItemOperation)

Gibt an, ob einem Benutzer für einen angegebenen Modellelementvorgang eine Zugriffsberechtigung für ein Element in der Berichtsserver-Datenbank erteilt wird.

public:
 bool CheckAccess(System::String ^ userName, IntPtr userToken, cli::array <System::Byte> ^ secDesc, Microsoft::ReportingServices::Interfaces::ModelItemOperation requiredOperation);
public bool CheckAccess (string userName, IntPtr userToken, byte[] secDesc, Microsoft.ReportingServices.Interfaces.ModelItemOperation requiredOperation);
abstract member CheckAccess : string * nativeint * byte[] * Microsoft.ReportingServices.Interfaces.ModelItemOperation -> bool
Public Function CheckAccess (userName As String, userToken As IntPtr, secDesc As Byte(), requiredOperation As ModelItemOperation) As Boolean

Parameter

userName
String

Der Name des Benutzers, der Zugriff auf den Berichtsserver anfordert.

userToken
IntPtr

nativeint

Ein Benutzerkontotoken. Dieses Token wird hauptsächlich vom Berichtsserver als Handle für ein Microsoft Windows-Konto verwendet, um die Verwaltung von Anmeldeinformationen für die Windows-Authentifizierung zu unterstützen.

secDesc
Byte[]

Die Sicherheitsbeschreibung für das Element.

requiredOperation
ModelItemOperation

Die vom Berichtsserver für einen angegebenen Benutzer angeforderten Vorgänge.

Gibt zurück

Gibt true zurück, wenn dem derzeit authentifizierten Benutzer auf Grundlage des angegebenen Vorgangs und der angegebenen Sicherheitsbeschreibung Zugriff auf das Element erteilt wird.

Gilt für:

CheckAccess(String, IntPtr, Byte[], ModelOperation)

Gibt einen Wert an, ob ein Benutzer autorisiert ist, auf ein Element in der Berichtsserverdatenbank für einen bestimmten Modellvorgang zuzugreifen.

public:
 bool CheckAccess(System::String ^ userName, IntPtr userToken, cli::array <System::Byte> ^ secDesc, Microsoft::ReportingServices::Interfaces::ModelOperation requiredOperation);
public bool CheckAccess (string userName, IntPtr userToken, byte[] secDesc, Microsoft.ReportingServices.Interfaces.ModelOperation requiredOperation);
abstract member CheckAccess : string * nativeint * byte[] * Microsoft.ReportingServices.Interfaces.ModelOperation -> bool
Public Function CheckAccess (userName As String, userToken As IntPtr, secDesc As Byte(), requiredOperation As ModelOperation) As Boolean

Parameter

userName
String

Der Name des Benutzers, der Zugriff auf den Berichtsserver anfordert.

userToken
IntPtr

nativeint

Ein Benutzerkontotoken. Dieses Token wird hauptsächlich vom Berichtsserver als Handle für ein Microsoft Windows-Konto verwendet, um die Verwaltung von Anmeldeinformationen für die Windows-Authentifizierung zu unterstützen.

secDesc
Byte[]

Die Sicherheitsbeschreibung für das Element.

requiredOperation
ModelOperation

Die vom Berichtsserver für einen angegebenen Benutzer angeforderten Vorgänge.

Gibt zurück

true wenn der aktuell authentifizierte Benutzer zugriff auf das Element basierend auf dem angegebenen Vorgang und dem Sicherheitsdeskriptor gewährt wird; andernfalls false.

Gilt für:

CheckAccess(String, IntPtr, Byte[], ReportOperation)

Gibt an, ob einem Benutzer für einen angegebenen Berichtsvorgang eine Zugriffsberechtigung für ein Element in der Berichtsserver-Datenbank erteilt wird.

public:
 bool CheckAccess(System::String ^ userName, IntPtr userToken, cli::array <System::Byte> ^ secDesc, Microsoft::ReportingServices::Interfaces::ReportOperation requiredOperation);
public bool CheckAccess (string userName, IntPtr userToken, byte[] secDesc, Microsoft.ReportingServices.Interfaces.ReportOperation requiredOperation);
abstract member CheckAccess : string * nativeint * byte[] * Microsoft.ReportingServices.Interfaces.ReportOperation -> bool
Public Function CheckAccess (userName As String, userToken As IntPtr, secDesc As Byte(), requiredOperation As ReportOperation) As Boolean

Parameter

userName
String

Der Name des Benutzers, der Zugriff auf den Berichtsserver anfordert.

userToken
IntPtr

nativeint

Ein Benutzerkontotoken. Dieses Token wird hauptsächlich vom Berichtsserver als Handle für ein Microsoft Windows-Konto verwendet, um die Verwaltung von Anmeldeinformationen für die Windows-Authentifizierung zu unterstützen.

secDesc
Byte[]

Die Sicherheitsbeschreibung für das Element.

requiredOperation
ReportOperation

Der vom Berichtsserver für einen angegebenen Benutzer angeforderte Vorgang.

Gibt zurück

Gibt true zurück, wenn dem derzeit authentifizierten Benutzer auf Grundlage des angegebenen Vorgangs und der angegebenen Sicherheitsbeschreibung Zugriff auf das Element erteilt wird.

Beispiele

Der folgende Beispielcode verwendet die [CheckAccess-Methode (String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A-Methode> , um die Autorisierungsanmeldeinformationen eines Benutzers anhand eines Sicherheitsdeskriptors für ein Element in der Berichtsserverdatenbank zu bewerten.

Public Function CheckAccess(userName As String, userToken As IntPtr, secDesc() As Byte, requiredOperation As ReportOperation) As Boolean  
   Dim acl As AceCollection = DeserializeAcl(secDesc)  
   Dim ace As AceStruct  
   For Each ace In  acl  
      ' First check to see if the user or group has an access control entry for the item  
      If userName = ace.PrincipalName Then  
         ' If an entry is found, return true if the given required operation  
         ' is contained in the ACE structure.  
         Dim aclOperation As ReportOperation  
         For Each aclOperation In  ace.ReportOperations  
            If aclOperation = requiredOperation Then  
               Return True  
            End If  
         Next aclOperation  
      End If  
   Next ace  
   Return False  
End Function 'CheckAccess  

Private Function DeserializeAcl(secDesc() As Byte) As AceCollection  
   Dim bf As New BinaryFormatter()  
   Dim sdStream As New MemoryStream(secDesc)  
   Dim acl As AceCollection = CType(bf.Deserialize(sdStream), AceCollection)  
   Return acl  
End Function 'DeserializeAcl  
public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, ReportOperation requiredOperation)  
{  
   AceCollection acl = DeserializeAcl(secDesc);  
   foreach(AceStruct ace in acl)  
   {  
       // First check to see if the user or group has an access control entry for the item  
      if (userName == ace.PrincipalName)  
      {  
          // If an entry is found, return true if the given required operation  
          // is contained in the ACE structure.  
         foreach(ReportOperation aclOperation in ace.ReportOperations)  
         {  
             if (aclOperation == requiredOperation)  
                return true;  
         }  
      }  
   }  
   return false;  
}  

private AceCollection DeserializeAcl(byte[] secDesc)  
{  
   BinaryFormatter bf = new BinaryFormatter();  
   MemoryStream sdStream = new MemoryStream(secDesc);  
   AceCollection acl = (AceCollection)bf.Deserialize(sdStream);  
   return acl;  
}  

Gilt für:

CheckAccess(String, IntPtr, Byte[], ResourceOperation)

Gibt an, ob einem Benutzer für einen angegebenen Ressourcenvorgang eine Zugriffsberechtigung für ein Element in der Berichtsserver-Datenbank erteilt wird.

public:
 bool CheckAccess(System::String ^ userName, IntPtr userToken, cli::array <System::Byte> ^ secDesc, Microsoft::ReportingServices::Interfaces::ResourceOperation requiredOperation);
public bool CheckAccess (string userName, IntPtr userToken, byte[] secDesc, Microsoft.ReportingServices.Interfaces.ResourceOperation requiredOperation);
abstract member CheckAccess : string * nativeint * byte[] * Microsoft.ReportingServices.Interfaces.ResourceOperation -> bool
Public Function CheckAccess (userName As String, userToken As IntPtr, secDesc As Byte(), requiredOperation As ResourceOperation) As Boolean

Parameter

userName
String

Der Name des Benutzers, der Zugriff auf den Berichtsserver anfordert.

userToken
IntPtr

nativeint

Ein Benutzerkontotoken. Dieses Token wird hauptsächlich vom Berichtsserver als Handle für ein Microsoft Windows-Konto verwendet, um die Verwaltung von Anmeldeinformationen für die Windows-Authentifizierung zu unterstützen.

secDesc
Byte[]

Die Sicherheitsbeschreibung für das Element.

requiredOperation
ResourceOperation

Der vom Berichtsserver für einen angegebenen Benutzer angeforderte Vorgang.

Gibt zurück

Gibt true zurück, wenn dem derzeit authentifizierten Benutzer auf Grundlage des angegebenen Vorgangs und der angegebenen Sicherheitsbeschreibung Zugriff auf das Element erteilt wird.

Beispiele

Der folgende Beispielcode verwendet die [CheckAccess-Methode (String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A-Methode> , um die Autorisierungsanmeldeinformationen eines Benutzers anhand eines Sicherheitsdeskriptors für ein Element in der Berichtsserverdatenbank zu bewerten.

Public Function CheckAccess(userName As String, userToken As IntPtr, secDesc() As Byte, requiredOperation As ResourceOperation) As Boolean  
   Dim acl As AceCollection = DeserializeAcl(secDesc)  
   Dim ace As AceStruct  
   For Each ace In  acl  
      ' First check to see if the user or group has an access control entry for the item  
      If userName = ace.PrincipalName Then  
         ' If an entry is found, return true if the given required operation  
         ' is contained in the ACE structure.  
         Dim aclOperation As ResourceOperation  
         For Each aclOperation In  ace.ResourceOperations  
            If aclOperation = requiredOperation Then  
               Return True  
            End If  
         Next aclOperation  
      End If  
   Next ace  
   Return False  
End Function 'CheckAccess  

Private Function DeserializeAcl(secDesc() As Byte) As AceCollection  
   Dim bf As New BinaryFormatter()  
   Dim sdStream As New MemoryStream(secDesc)  
   Dim acl As AceCollection = CType(bf.Deserialize(sdStream), AceCollection)  
   Return acl  
End Function 'DeserializeAcl  
public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, ResourceOperation requiredOperation)  
{  
   AceCollection acl = DeserializeAcl(secDesc);  
   foreach(AceStruct ace in acl)  
   {  
       // First check to see if the user or group has an access control entry for the item  
      if (userName == ace.PrincipalName)  
      {  
          // If an entry is found, return true if the given required operation  
          // is contained in the ACE structure.  
         foreach(ResourceOperation aclOperation in ace.ResourceOperations)  
         {  
             if (aclOperation == requiredOperation)  
                return true;  
         }  
      }  
   }  
   return false;  
}  

private AceCollection DeserializeAcl(byte[] secDesc)  
{  
   BinaryFormatter bf = new BinaryFormatter();  
   MemoryStream sdStream = new MemoryStream(secDesc);  
   AceCollection acl = (AceCollection)bf.Deserialize(sdStream);  
   return acl;  
}  

Gilt für:

CheckAccess(String, IntPtr, Byte[], ResourceOperation[])

Gibt an, ob einem Benutzer für ein angegebenes Array von Ressourcenvorgängen eine Zugriffsberechtigung für ein Element in der Berichtsserver-Datenbank erteilt wird.

public:
 bool CheckAccess(System::String ^ userName, IntPtr userToken, cli::array <System::Byte> ^ secDesc, cli::array <Microsoft::ReportingServices::Interfaces::ResourceOperation> ^ requiredOperations);
public bool CheckAccess (string userName, IntPtr userToken, byte[] secDesc, Microsoft.ReportingServices.Interfaces.ResourceOperation[] requiredOperations);
abstract member CheckAccess : string * nativeint * byte[] * Microsoft.ReportingServices.Interfaces.ResourceOperation[] -> bool
Public Function CheckAccess (userName As String, userToken As IntPtr, secDesc As Byte(), requiredOperations As ResourceOperation()) As Boolean

Parameter

userName
String

Der Name des Benutzers, der Zugriff auf den Berichtsserver anfordert.

userToken
IntPtr

nativeint

Ein Benutzerkontotoken. Dieses Token wird hauptsächlich vom Berichtsserver als Handle für ein Microsoft Windows-Konto verwendet, um die Verwaltung von Anmeldeinformationen für die Windows-Authentifizierung zu unterstützen.

secDesc
Byte[]

Die Sicherheitsbeschreibung für das Element.

requiredOperations
ResourceOperation[]

Die vom Berichtsserver für einen angegebenen Benutzer angeforderten Vorgänge.

Gibt zurück

Gibt true zurück, wenn dem derzeit authentifizierten Benutzer auf Grundlage des angegebenen Vorgangs und der angegebenen Sicherheitsbeschreibung Zugriff auf das Element erteilt wird.

Beispiele

Der folgende Beispielcode verwendet die [CheckAccess-Methode (String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A-Methode> , um die Autorisierungsanmeldeinformationen eines Benutzers anhand eines Sicherheitsdeskriptors für ein Element in der Berichtsserverdatenbank zu bewerten. Das Beispiel verwendet die überladene [CheckAccess-Methode (String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A-Methode> , die einen einzelnen Vorgang als Argument verwendet.

' Overload for array of resource operations  
Public Function CheckAccess(userName As String, userToken As IntPtr, secDesc() As Byte, requiredOperations() As ResourceOperation) As Boolean  
   Dim operation As ResourceOperation  
   For Each operation In  requiredOperations  
      If Not CheckAccess(userName, userToken, secDesc, operation) Then  
         Return False  
      End If  
   Next operation  
   Return True  
End Function 'CheckAccess  
// Overload for array of resource operations  
public bool CheckAccess(string userName, IntPtr userToken, byte[] secDesc, ResourceOperation[] requiredOperations)  
{  
   foreach(ResourceOperation operation in requiredOperations)  
   {  
      if (!CheckAccess(userName, userToken, secDesc, operation))  
         return false;  
   }  
   return true;   
}  

Gilt für: