Share via


IAuthorizationExtension Interface

Definition

Represents an extension that can be used to extend the authorization feature of SQL Server Reporting Services.

public interface class IAuthorizationExtension : Microsoft::ReportingServices::Interfaces::IExtension
public interface IAuthorizationExtension : Microsoft.ReportingServices.Interfaces.IExtension
type IAuthorizationExtension = interface
    interface IExtension
Public Interface IAuthorizationExtension
Implements IExtension
Implements

Remarks

Authorization is the process of determining whether an identity should be granted the requested type of access to a given resource in the report server database. This is accomplished in Reporting Services by storing and associating an access control list (AceCollection object) with each system and item resource in the report server database. Your authorization extension should provide an implementation of the CreateSecurityDescriptor method, which is called by the report server whenever a new role assignment is created for an item in the report server database. Your implementation of CreateSecurityDescriptor must, at minimum, serialize the AceCollection. You can optionally serialize additional user information as part of the security descriptor. Implement CheckAccess in order to evaluate whether a given user has the appropriate permissions to carry out a requested operation. Your implementation of CheckAccess should de-serialize the security descriptor, evaluate each AceStruct object, and check for a valid operation permission that corresponds to the username and the requested operation. If a matching operation is found, CheckAccess should return true.

Properties

LocalizedName

Gets the localized name of the extension to be displayed in a user interface.

(Inherited from IExtension)

Methods

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

Indicates whether a user is authorized to access an item in the report server database for a given catalog operation.

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

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

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

Indicates whether a user is authorized to access an item in the report server database for a given data source operation.

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

Indicates whether a user is authorized to access an item in the report server database for a given folder operation.

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

Checks a user's authorization credentials against a security descriptor for operations on an item in the report server database

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

Indicates whether a user is authorized to access an item in the report server database for a given model item operation.

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

Indicates a value whether a user is authorized to access an item in the report server database for a given model operation.

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

Indicates whether a user is authorized to access an item in the report server database for a given report operation.

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

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

CheckAccess(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.

CreateSecurityDescriptor(AceCollection, SecurityItemType, String)

Returns the security descriptor that is stored with an individual item in the report server database.

GetPermissions(String, IntPtr, SecurityItemType, Byte[])

Returns the set of permissions granted a specific user for an item in the report server database.

SetConfiguration(String)

Used to pass custom configuration data to an extension.

(Inherited from IExtension)

Applies to