Export (0) Print
Expand All

IAuthorizationExtension.CheckAccess Method (String, IntPtr, Byte[], ResourceOperation[])

Indicates whether a user is authorized to access an item in the report server database for a given array of resource operations.

Namespace:  Microsoft.ReportingServices.Interfaces
Assemblies:   Microsoft.ReportingServices.SharePoint.UI.WebParts (in Microsoft.ReportingServices.SharePoint.UI.WebParts.dll)
  Microsoft.ReportingServices.Interfaces (in Microsoft.ReportingServices.Interfaces.dll)

[StrongNameIdentityPermissionAttribute(SecurityAction.LinkDemand, PublicKey = "0024000004800000940000000602000000240000525341310004000001000100272736ad6e5f9586bac2d531eabc3acc666c2f8ec879fa94f8f7b0327d2ff2ed523448f83c3d5c5dd2dfc7bc99c5286b2c125117bf5cbe242b9d41750732b2bdffe649c6efb8e5526d526fdd130095ecdb7bf210809c6cdad8824faa9ac0310ac3cba2aa0523567b2dfa7fe250b30facbd62d4ec99b94ac47c7d3b28f1f6e4c8")]
bool CheckAccess(
	string userName,
	IntPtr userToken,
	byte[] secDesc,
	ResourceOperation[] requiredOperations
)

Parameters

userName
Type: String
The name of the user requesting access to the report server.
userToken
Type: IntPtr
A user account token. This token is primarily used by the report server as a handle to a Microsoft Windows account in support of credential management for Windows Authentication.
secDesc
Type: Byte[]
The security descriptor for the item.
requiredOperations
Type: Microsoft.ReportingServices.Interfaces.ResourceOperation[]
The operations being requested by the report server for a given user.

Return Value

Type: Boolean
Returns true if the currently authenticated user is granted access to the item based on the supplied operation and security descriptor.

The following example code uses the CheckAccess method to evaluate a user's authorization credentials against a security descriptor for an item in the report server database. The example makes use of the overloaded CheckAccess method that takes a single operation as an argument.

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

Community Additions

ADD
Show:
© 2014 Microsoft