IAuthorizationExtension.CheckAccess Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Indica si un usuario está autorizado para acceder a un elemento en la base de datos del servidor de informes para una operación determinada.
Sobrecargas
| Nombre | Description |
|---|---|
| CheckAccess(String, IntPtr, Byte[], CatalogOperation) |
Indica si un usuario está autorizado a acceder a un elemento en la base de datos del servidor de informes para una operación de catálogo determinada. |
| CheckAccess(String, IntPtr, Byte[], CatalogOperation[]) |
Indica si un usuario está autorizado para acceder a un elemento en la base de datos del servidor de informes para una operación de catálogo dada. |
| CheckAccess(String, IntPtr, Byte[], DatasourceOperation) |
Indica si un usuario está autorizado para acceder a un elemento en la base de datos del servidor de informes para una operación de fuente de datos determinada. |
| CheckAccess(String, IntPtr, Byte[], FolderOperation) |
Indica si un usuario está autorizado para acceder a un elemento en la base de datos del servidor de informes para una operación determinada de carpeta. |
| CheckAccess(String, IntPtr, Byte[], FolderOperation[]) |
Verifica las credenciales de autorización de un usuario frente a un descriptor de seguridad para operaciones sobre un elemento en la base de datos del servidor de informes |
| CheckAccess(String, IntPtr, Byte[], ModelItemOperation) |
Indica si un usuario está autorizado a acceder a un elemento en la base de datos del servidor de informes para una operación de modelo determinada de ítem. |
| CheckAccess(String, IntPtr, Byte[], ModelOperation) |
Indica un valor sobre si un usuario está autorizado a acceder a un elemento en la base de datos del servidor de informes para una operación de modelo dada. |
| CheckAccess(String, IntPtr, Byte[], ReportOperation) |
Indica si un usuario está autorizado para acceder a un elemento en la base de datos del servidor de informes para una operación de informe determinada. |
| CheckAccess(String, IntPtr, Byte[], ResourceOperation) |
Indica si un usuario está autorizado para acceder a un elemento en la base de datos del servidor de informes para una operación de recurso determinada. |
| CheckAccess(String, IntPtr, Byte[], ResourceOperation[]) |
Indica si un usuario está autorizado a acceder a un elemento en la base de datos del servidor de informes para un array dado de operaciones de recursos. |
CheckAccess(String, IntPtr, Byte[], CatalogOperation)
Indica si un usuario está autorizado a acceder a un elemento en la base de datos del servidor de informes para una operación de catálogo determinada.
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
Parámetros
- userName
- String
El nombre del usuario que solicita acceso al servidor de informes.
- userToken
-
IntPtr
nativeint
Un token de cuenta de usuario. Este token es utilizado principalmente por el servidor de informes como un usuario de una cuenta Microsoft Windows en apoyo a la gestión de credenciales para la autenticación Windows.
- secDesc
- Byte[]
El descriptor de seguridad del objeto.
- requiredOperation
- CatalogOperation
La operación solicitada por el servidor de informes para un usuario determinado.
Devoluciones
Retorna true si al usuario autenticado actualmente se le concede acceso al artículo en función del descriptor de operación y seguridad proporcionado.
Ejemplos
El siguiente código de ejemplo utiliza el [Método CheckAccess (String, IntPtr, Byte<xref:Microsoft. ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> método para evaluar las credenciales de autorización de un usuario frente a un descriptor de seguridad para un elemento en la base de datos del servidor de informes.
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;
}
Se aplica a
CheckAccess(String, IntPtr, Byte[], CatalogOperation[])
Indica si un usuario está autorizado para acceder a un elemento en la base de datos del servidor de informes para una operación de catálogo dada.
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
Parámetros
- userName
- String
El nombre del usuario que solicita acceso al servidor de informes.
- userToken
-
IntPtr
nativeint
Un token de cuenta de usuario. Este token es utilizado principalmente por el servidor de informes como un usuario de una cuenta Microsoft Windows en apoyo a la gestión de credenciales para la autenticación Windows.
- secDesc
- Byte[]
El descriptor de seguridad del objeto.
- requiredOperations
- CatalogOperation[]
Las operaciones solicitadas por el servidor de informes para un usuario dado.
Devoluciones
Retorna true si al usuario autenticado actualmente se le concede acceso al artículo en función del descriptor de operación y seguridad proporcionado.
Ejemplos
El siguiente código de ejemplo utiliza el [Método CheckAccess (String, IntPtr, Byte<xref:Microsoft. ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> método para evaluar las credenciales de autorización de un usuario frente a un descriptor de seguridad para un elemento en la base de datos del servidor de informes. El ejemplo utiliza el sobrecargado [Método CheckAccess (String, IntPtr, Byte<xref:Microsoft. ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> método que toma una sola operación como argumento.
' 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;
}
Se aplica a
CheckAccess(String, IntPtr, Byte[], DatasourceOperation)
Indica si un usuario está autorizado para acceder a un elemento en la base de datos del servidor de informes para una operación de fuente de datos determinada.
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
Parámetros
- userName
- String
El nombre del usuario que solicita acceso al servidor de informes.
- userToken
-
IntPtr
nativeint
Un token de cuenta de usuario. Este token es utilizado principalmente por el servidor de informes como un usuario de una cuenta Microsoft Windows en apoyo a la gestión de credenciales para la autenticación Windows.
- secDesc
- Byte[]
El descriptor de seguridad del objeto.
- requiredOperation
- DatasourceOperation
La operación solicitada por el servidor de informes para un usuario determinado.
Devoluciones
Retorna true si al usuario autenticado actualmente se le concede acceso al artículo en función del descriptor de operación y seguridad proporcionado.
Ejemplos
El siguiente código de ejemplo utiliza el [Método CheckAccess (String, IntPtr, Byte<xref:Microsoft. ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> método para evaluar las credenciales de autorización de un usuario frente a un descriptor de seguridad para un elemento en la base de datos del servidor de informes.
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;
}
Se aplica a
CheckAccess(String, IntPtr, Byte[], FolderOperation)
Indica si un usuario está autorizado para acceder a un elemento en la base de datos del servidor de informes para una operación determinada de carpeta.
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
Parámetros
- userName
- String
El nombre del usuario que solicita acceso al servidor de informes.
- userToken
-
IntPtr
nativeint
Un token de cuenta de usuario. Este token es utilizado principalmente por el servidor de informes como un usuario de una cuenta Microsoft Windows en apoyo a la gestión de credenciales para la autenticación Windows.
- secDesc
- Byte[]
El descriptor de seguridad del objeto.
- requiredOperation
- FolderOperation
La operación solicitada por el servidor de informes para un usuario determinado.
Devoluciones
Retorna true si al usuario autenticado actualmente se le concede acceso al artículo en función del descriptor de operación y seguridad proporcionado.
Ejemplos
El siguiente código de ejemplo utiliza el [Método CheckAccess (String, IntPtr, Byte<xref:Microsoft. ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> método para evaluar las credenciales de autorización de un usuario frente a un descriptor de seguridad para un elemento en la base de datos del servidor de informes.
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;
}
Se aplica a
CheckAccess(String, IntPtr, Byte[], FolderOperation[])
Verifica las credenciales de autorización de un usuario frente a un descriptor de seguridad para operaciones sobre un elemento en la base de datos del servidor de informes
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
Parámetros
- userName
- String
El nombre del usuario que solicita acceso al servidor de informes.
- userToken
-
IntPtr
nativeint
Un token de cuenta de usuario. Este token es utilizado principalmente por el servidor de informes como un usuario de una cuenta Microsoft Windows en apoyo a la gestión de credenciales para la autenticación Windows.
- secDesc
- Byte[]
El descriptor de seguridad del objeto.
- requiredOperations
- FolderOperation[]
Las operaciones solicitadas por el servidor de informes para un usuario dado.
Devoluciones
Retorna true si al usuario autenticado actualmente se le concede acceso al artículo en función del descriptor de operación y seguridad proporcionado.
Ejemplos
El siguiente código de ejemplo utiliza el [Método CheckAccess (String, IntPtr, Byte<xref:Microsoft. ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> método para evaluar las credenciales de autorización de un usuario frente a un descriptor de seguridad para un elemento en la base de datos del servidor de informes. El ejemplo utiliza el sobrecargado [Método CheckAccess (String, IntPtr, Byte<xref:Microsoft. ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> método que toma una sola operación como argumento.
' 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;
}
Se aplica a
CheckAccess(String, IntPtr, Byte[], ModelItemOperation)
Indica si un usuario está autorizado a acceder a un elemento en la base de datos del servidor de informes para una operación de modelo determinada de ítem.
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
Parámetros
- userName
- String
El nombre del usuario que solicita acceso al servidor de informes.
- userToken
-
IntPtr
nativeint
Un token de cuenta de usuario. Este token es utilizado principalmente por el servidor de informes como un usuario de una cuenta Microsoft Windows en apoyo a la gestión de credenciales para la autenticación Windows.
- secDesc
- Byte[]
El descriptor de seguridad del objeto.
- requiredOperation
- ModelItemOperation
Las operaciones solicitadas por el servidor de informes para un usuario dado.
Devoluciones
Retorna true si al usuario autenticado actualmente se le concede acceso al artículo en función del descriptor de operación y seguridad proporcionado.
Se aplica a
CheckAccess(String, IntPtr, Byte[], ModelOperation)
Indica un valor sobre si un usuario está autorizado a acceder a un elemento en la base de datos del servidor de informes para una operación de modelo dada.
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
Parámetros
- userName
- String
El nombre del usuario que solicita acceso al servidor de informes.
- userToken
-
IntPtr
nativeint
Un token de cuenta de usuario. Este token es utilizado principalmente por el servidor de informes como un usuario de una cuenta Microsoft Windows en apoyo a la gestión de credenciales para la autenticación Windows.
- secDesc
- Byte[]
El descriptor de seguridad del objeto.
- requiredOperation
- ModelOperation
Las operaciones solicitadas por el servidor de informes para un usuario dado.
Devoluciones
true si al usuario actualmente autenticado se le concede acceso al elemento en función del descriptor de operación y seguridad suministrado; de lo contrario, false.
Se aplica a
CheckAccess(String, IntPtr, Byte[], ReportOperation)
Indica si un usuario está autorizado para acceder a un elemento en la base de datos del servidor de informes para una operación de informe determinada.
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
Parámetros
- userName
- String
El nombre del usuario que solicita acceso al servidor de informes.
- userToken
-
IntPtr
nativeint
Un token de cuenta de usuario. Este token es utilizado principalmente por el servidor de informes como un usuario de una cuenta Microsoft Windows en apoyo a la gestión de credenciales para la autenticación Windows.
- secDesc
- Byte[]
El descriptor de seguridad del objeto.
- requiredOperation
- ReportOperation
La operación solicitada por el servidor de informes para un usuario determinado.
Devoluciones
Retorna true si al usuario autenticado actualmente se le concede acceso al artículo en función del descriptor de operación y seguridad proporcionado.
Ejemplos
El siguiente código de ejemplo utiliza el [Método CheckAccess (String, IntPtr, Byte<xref:Microsoft. ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> método para evaluar las credenciales de autorización de un usuario frente a un descriptor de seguridad para un elemento en la base de datos del servidor de informes.
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;
}
Se aplica a
CheckAccess(String, IntPtr, Byte[], ResourceOperation)
Indica si un usuario está autorizado para acceder a un elemento en la base de datos del servidor de informes para una operación de recurso determinada.
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
Parámetros
- userName
- String
El nombre del usuario que solicita acceso al servidor de informes.
- userToken
-
IntPtr
nativeint
Un token de cuenta de usuario. Este token es utilizado principalmente por el servidor de informes como un usuario de una cuenta Microsoft Windows en apoyo a la gestión de credenciales para la autenticación Windows.
- secDesc
- Byte[]
El descriptor de seguridad del objeto.
- requiredOperation
- ResourceOperation
La operación solicitada por el servidor de informes para un usuario determinado.
Devoluciones
Retorna true si al usuario autenticado actualmente se le concede acceso al artículo en función del descriptor de operación y seguridad proporcionado.
Ejemplos
El siguiente código de ejemplo utiliza el [Método CheckAccess (String, IntPtr, Byte<xref:Microsoft. ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> método para evaluar las credenciales de autorización de un usuario frente a un descriptor de seguridad para un elemento en la base de datos del servidor de informes.
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;
}
Se aplica a
CheckAccess(String, IntPtr, Byte[], ResourceOperation[])
Indica si un usuario está autorizado a acceder a un elemento en la base de datos del servidor de informes para un array dado de operaciones de recursos.
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
Parámetros
- userName
- String
El nombre del usuario que solicita acceso al servidor de informes.
- userToken
-
IntPtr
nativeint
Un token de cuenta de usuario. Este token es utilizado principalmente por el servidor de informes como un usuario de una cuenta Microsoft Windows en apoyo a la gestión de credenciales para la autenticación Windows.
- secDesc
- Byte[]
El descriptor de seguridad del objeto.
- requiredOperations
- ResourceOperation[]
Las operaciones solicitadas por el servidor de informes para un usuario dado.
Devoluciones
Retorna true si al usuario autenticado actualmente se le concede acceso al artículo en función del descriptor de operación y seguridad proporcionado.
Ejemplos
El siguiente código de ejemplo utiliza el [Método CheckAccess (String, IntPtr, Byte<xref:Microsoft. ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> método para evaluar las credenciales de autorización de un usuario frente a un descriptor de seguridad para un elemento en la base de datos del servidor de informes. El ejemplo utiliza el sobrecargado [Método CheckAccess (String, IntPtr, Byte<xref:Microsoft. ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> método que toma una sola operación como argumento.
' 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;
}