IAuthorizationExtension.CheckAccess Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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;
}