IAuthorizationExtension.CheckAccess 메서드

정의

사용자에게 지정된 작업을 위해 보고서 서버 데이터베이스의 항목에 액세스할 수 있는 권한이 있는지 여부를 나타냅니다.

오버로드

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

사용자에게 지정된 카탈로그 작업을 위해 보고서 서버 데이터베이스의 항목에 액세스할 수 있는 권한이 있는지 여부를 나타냅니다.

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

사용자에게 지정된 카탈로그 작업 배열을 위해 보고서 서버 데이터베이스의 항목에 액세스할 수 있는 권한이 있는지 여부를 나타냅니다.

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

사용자에게 지정된 데이터 원본 작업을 위해 보고서 서버 데이터베이스의 항목에 액세스할 수 있는 권한이 있는지 여부를 나타냅니다.

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

사용자에게 지정된 폴더 작업을 위해 보고서 서버 데이터베이스의 항목에 액세스할 수 있는 권한이 있는지 여부를 나타냅니다.

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

보고서 서버 데이터베이스에 있는 항목에 대한 작업을 위해 보안 설명자를 기준으로 사용자의 권한 부여 자격 증명을 확인합니다.

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

사용자에게 지정된 모델 항목 작업을 위해 보고서 서버 데이터베이스의 항목에 액세스할 수 있는 권한이 있는지 여부를 나타냅니다.

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

사용자가 지정된 모델 작업에 대해 보고서 서버 데이터베이스의 항목에 액세스할 수 있는 권한이 있는지 여부를 나타내는 값입니다.

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

사용자에게 지정된 보고서 작업을 위해 보고서 서버 데이터베이스의 항목에 액세스할 수 있는 권한이 있는지 여부를 나타냅니다.

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

사용자에게 지정된 리소스 작업을 위해 보고서 서버 데이터베이스의 항목에 액세스할 수 있는 권한이 있는지 여부를 나타냅니다.

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

사용자에게 지정된 리소스 작업 배열을 위해 보고서 서버 데이터베이스의 항목에 액세스할 수 있는 권한이 있는지 여부를 나타냅니다.

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

사용자에게 지정된 카탈로그 작업을 위해 보고서 서버 데이터베이스의 항목에 액세스할 수 있는 권한이 있는지 여부를 나타냅니다.

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

매개 변수

userName
String

보고서 서버에 대한 액세스 권한을 요청하는 사용자의 이름입니다.

userToken
IntPtr

nativeint

사용자 계정 토큰입니다. 이 토큰은 주로 보고서 서버에서 Windows 인증용 자격 증명 관리를 지원하기 위해 Microsoft Windows 계정에 대한 핸들로 사용됩니다.

secDesc
Byte[]

항목에 대한 보안 설명자입니다.

requiredOperation
CatalogOperation

보고서 서버에서 지정된 사용자에 대해 요청하는 작업입니다.

반환

현재 인증된 사용자가 제공된 작업 및 보안 설명자를 기반으로 하는 항목에 대한 액세스 권한을 부여받았으면 true를 반환합니다.

예제

다음 예제 코드는 [CheckAccess 메서드(String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> 메서드)를 사용하여 보고서 서버 데이터베이스의 항목에 대한 보안 설명자에 대해 사용자의 권한 부여 자격 증명을 평가합니다.

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;  
}  

적용 대상

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

사용자에게 지정된 카탈로그 작업 배열을 위해 보고서 서버 데이터베이스의 항목에 액세스할 수 있는 권한이 있는지 여부를 나타냅니다.

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

매개 변수

userName
String

보고서 서버에 대한 액세스 권한을 요청하는 사용자의 이름입니다.

userToken
IntPtr

nativeint

사용자 계정 토큰입니다. 이 토큰은 주로 보고서 서버에서 Windows 인증용 자격 증명 관리를 지원하기 위해 Microsoft Windows 계정에 대한 핸들로 사용됩니다.

secDesc
Byte[]

항목에 대한 보안 설명자입니다.

requiredOperations
CatalogOperation[]

보고서 서버에서 지정된 사용자에 대해 요청하는 작업입니다.

반환

현재 인증된 사용자가 제공된 작업 및 보안 설명자를 기반으로 하는 항목에 대한 액세스 권한을 부여받았으면 true를 반환합니다.

예제

다음 예제 코드는 [CheckAccess 메서드(String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> 메서드)를 사용하여 보고서 서버 데이터베이스의 항목에 대한 보안 설명자에 대해 사용자의 권한 부여 자격 증명을 평가합니다. 이 예제에서는 단일 작업을 인수로 사용하는 오버로드된 [CheckAccess 메서드(String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> 메서드)를 사용합니다.

' 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;   
}  

적용 대상

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

사용자에게 지정된 데이터 원본 작업을 위해 보고서 서버 데이터베이스의 항목에 액세스할 수 있는 권한이 있는지 여부를 나타냅니다.

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

매개 변수

userName
String

보고서 서버에 대한 액세스 권한을 요청하는 사용자의 이름입니다.

userToken
IntPtr

nativeint

사용자 계정 토큰입니다. 이 토큰은 주로 보고서 서버에서 Windows 인증용 자격 증명 관리를 지원하기 위해 Microsoft Windows 계정에 대한 핸들로 사용됩니다.

secDesc
Byte[]

항목에 대한 보안 설명자입니다.

requiredOperation
DatasourceOperation

보고서 서버에서 지정된 사용자에 대해 요청하는 작업입니다.

반환

현재 인증된 사용자가 제공된 작업 및 보안 설명자를 기반으로 하는 항목에 대한 액세스 권한을 부여받았으면 true를 반환합니다.

예제

다음 예제 코드는 [CheckAccess 메서드(String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> 메서드)를 사용하여 보고서 서버 데이터베이스의 항목에 대한 보안 설명자에 대해 사용자의 권한 부여 자격 증명을 평가합니다.

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;  
}  

적용 대상

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

사용자에게 지정된 폴더 작업을 위해 보고서 서버 데이터베이스의 항목에 액세스할 수 있는 권한이 있는지 여부를 나타냅니다.

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

매개 변수

userName
String

보고서 서버에 대한 액세스 권한을 요청하는 사용자의 이름입니다.

userToken
IntPtr

nativeint

사용자 계정 토큰입니다. 이 토큰은 주로 보고서 서버에서 Windows 인증용 자격 증명 관리를 지원하기 위해 Microsoft Windows 계정에 대한 핸들로 사용됩니다.

secDesc
Byte[]

항목에 대한 보안 설명자입니다.

requiredOperation
FolderOperation

보고서 서버에서 지정된 사용자에 대해 요청하는 작업입니다.

반환

현재 인증된 사용자가 제공된 작업 및 보안 설명자를 기반으로 하는 항목에 대한 액세스 권한을 부여받았으면 true를 반환합니다.

예제

다음 예제 코드는 [CheckAccess 메서드(String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> 메서드)를 사용하여 보고서 서버 데이터베이스의 항목에 대한 보안 설명자에 대해 사용자의 권한 부여 자격 증명을 평가합니다.

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;  
}  

적용 대상

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

보고서 서버 데이터베이스에 있는 항목에 대한 작업을 위해 보안 설명자를 기준으로 사용자의 권한 부여 자격 증명을 확인합니다.

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

매개 변수

userName
String

보고서 서버에 대한 액세스 권한을 요청하는 사용자의 이름입니다.

userToken
IntPtr

nativeint

사용자 계정 토큰입니다. 이 토큰은 주로 보고서 서버에서 Windows 인증용 자격 증명 관리를 지원하기 위해 Microsoft Windows 계정에 대한 핸들로 사용됩니다.

secDesc
Byte[]

항목에 대한 보안 설명자입니다.

requiredOperations
FolderOperation[]

보고서 서버에서 지정된 사용자에 대해 요청하는 작업입니다.

반환

현재 인증된 사용자가 제공된 작업 및 보안 설명자를 기반으로 하는 항목에 대한 액세스 권한을 부여받았으면 true를 반환합니다.

예제

다음 예제 코드는 [CheckAccess 메서드(String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> 메서드)를 사용하여 보고서 서버 데이터베이스의 항목에 대한 보안 설명자에 대해 사용자의 권한 부여 자격 증명을 평가합니다. 이 예제에서는 단일 작업을 인수로 사용하는 오버로드된 [CheckAccess 메서드(String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> 메서드)를 사용합니다.

' 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;   
}  

적용 대상

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

사용자에게 지정된 모델 항목 작업을 위해 보고서 서버 데이터베이스의 항목에 액세스할 수 있는 권한이 있는지 여부를 나타냅니다.

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

매개 변수

userName
String

보고서 서버에 대한 액세스 권한을 요청하는 사용자의 이름입니다.

userToken
IntPtr

nativeint

사용자 계정 토큰입니다. 이 토큰은 주로 보고서 서버에서 Windows 인증용 자격 증명 관리를 지원하기 위해 Microsoft Windows 계정에 대한 핸들로 사용됩니다.

secDesc
Byte[]

항목에 대한 보안 설명자입니다.

requiredOperation
ModelItemOperation

보고서 서버에서 지정된 사용자에 대해 요청하는 작업입니다.

반환

현재 인증된 사용자가 제공된 작업 및 보안 설명자를 기반으로 하는 항목에 대한 액세스 권한을 부여받았으면 true를 반환합니다.

적용 대상

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

사용자가 지정된 모델 작업에 대해 보고서 서버 데이터베이스의 항목에 액세스할 수 있는 권한이 있는지 여부를 나타내는 값입니다.

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

매개 변수

userName
String

보고서 서버에 대한 액세스 권한을 요청하는 사용자의 이름입니다.

userToken
IntPtr

nativeint

사용자 계정 토큰입니다. 이 토큰은 주로 보고서 서버에서 Windows 인증용 자격 증명 관리를 지원하기 위해 Microsoft Windows 계정에 대한 핸들로 사용됩니다.

secDesc
Byte[]

항목에 대한 보안 설명자입니다.

requiredOperation
ModelOperation

보고서 서버에서 지정된 사용자에 대해 요청하는 작업입니다.

반환

true현재 인증된 사용자에게 제공된 작업 및 보안 설명자에 따라 항목에 대한 액세스 권한이 부여되면 이고, 그렇지 않으면 . false

적용 대상

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

사용자에게 지정된 보고서 작업을 위해 보고서 서버 데이터베이스의 항목에 액세스할 수 있는 권한이 있는지 여부를 나타냅니다.

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

매개 변수

userName
String

보고서 서버에 대한 액세스 권한을 요청하는 사용자의 이름입니다.

userToken
IntPtr

nativeint

사용자 계정 토큰입니다. 이 토큰은 주로 보고서 서버에서 Windows 인증용 자격 증명 관리를 지원하기 위해 Microsoft Windows 계정에 대한 핸들로 사용됩니다.

secDesc
Byte[]

항목에 대한 보안 설명자입니다.

requiredOperation
ReportOperation

보고서 서버에서 지정된 사용자에 대해 요청하는 작업입니다.

반환

현재 인증된 사용자가 제공된 작업 및 보안 설명자를 기반으로 하는 항목에 대한 액세스 권한을 부여받았으면 true를 반환합니다.

예제

다음 예제 코드는 [CheckAccess 메서드(String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> 메서드)를 사용하여 보고서 서버 데이터베이스의 항목에 대한 보안 설명자에 대해 사용자의 권한 부여 자격 증명을 평가합니다.

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;  
}  

적용 대상

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

사용자에게 지정된 리소스 작업을 위해 보고서 서버 데이터베이스의 항목에 액세스할 수 있는 권한이 있는지 여부를 나타냅니다.

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

매개 변수

userName
String

보고서 서버에 대한 액세스 권한을 요청하는 사용자의 이름입니다.

userToken
IntPtr

nativeint

사용자 계정 토큰입니다. 이 토큰은 주로 보고서 서버에서 Windows 인증용 자격 증명 관리를 지원하기 위해 Microsoft Windows 계정에 대한 핸들로 사용됩니다.

secDesc
Byte[]

항목에 대한 보안 설명자입니다.

requiredOperation
ResourceOperation

보고서 서버에서 지정된 사용자에 대해 요청하는 작업입니다.

반환

현재 인증된 사용자가 제공된 작업 및 보안 설명자를 기반으로 하는 항목에 대한 액세스 권한을 부여받았으면 true를 반환합니다.

예제

다음 예제 코드는 [CheckAccess 메서드(String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> 메서드)를 사용하여 보고서 서버 데이터베이스의 항목에 대한 보안 설명자에 대해 사용자의 권한 부여 자격 증명을 평가합니다.

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;  
}  

적용 대상

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

사용자에게 지정된 리소스 작업 배열을 위해 보고서 서버 데이터베이스의 항목에 액세스할 수 있는 권한이 있는지 여부를 나타냅니다.

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

매개 변수

userName
String

보고서 서버에 대한 액세스 권한을 요청하는 사용자의 이름입니다.

userToken
IntPtr

nativeint

사용자 계정 토큰입니다. 이 토큰은 주로 보고서 서버에서 Windows 인증용 자격 증명 관리를 지원하기 위해 Microsoft Windows 계정에 대한 핸들로 사용됩니다.

secDesc
Byte[]

항목에 대한 보안 설명자입니다.

requiredOperations
ResourceOperation[]

보고서 서버에서 지정된 사용자에 대해 요청하는 작업입니다.

반환

현재 인증된 사용자가 제공된 작업 및 보안 설명자를 기반으로 하는 항목에 대한 액세스 권한을 부여받았으면 true를 반환합니다.

예제

다음 예제 코드는 [CheckAccess 메서드(String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> 메서드)를 사용하여 보고서 서버 데이터베이스의 항목에 대한 보안 설명자에 대해 사용자의 권한 부여 자격 증명을 평가합니다. 이 예제에서는 단일 작업을 인수로 사용하는 오버로드된 [CheckAccess 메서드(String, IntPtr, Byte<xref:Microsoft.ReportingServices.Interfaces.IAuthorizationExtension.CheckAccess%2A> 메서드)를 사용합니다.

' 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;   
}  

적용 대상