OperationNames Class

Definition

Contains the field names and corresponding values for operations that users can perform on items in SQL Server Reporting Services.

public ref class OperationNames sealed
public sealed class OperationNames
type OperationNames = class
Public NotInheritable Class OperationNames
Inheritance
OperationNames

Remarks

The OperationNames class contains fields that represent the constant string values for operation names in Reporting Services. These operation names can be used by your security extension to return a list of permissions for a user of a given item in the report server database. For more information, see the GetPermissions method of the IAuthorizationExtension interface.

You can develop Report Server Web service client applications in such a way as to provide functionality and appearance based on the permissions of the current user. Client applications, such as Report Manager, rely on the Web service method GetPermissions to return a set of permission names that correspond to operations in Reporting Services. When a client makes a call to GetPermissions, the Web service responds with a set of permissions based on the item being accessed and the user making the request. A typical call to the root or Home item in the report server database for a user that is assigned the Browser Role might look like the following:

// C# Web service code  
string[] permissions = rs.GetPermissions("/");  

foreach (string p in permissions)  
{  
   Console.WriteLine(p);  
}  

The above code returns a single permission for Browser users: Read Properties. The user is granted access to view the contents and properties, but not to modify or delete the contents. Nor is the user allowed to update security policies or view data source information. The Browser role is a very restrictive role.

Because clients can call GetPermissions in order to discover what permissions the user has, a client application can be tailored for each user. In Report Manager, Browser users do not have access to the Security Properties or Data Source Properties pages for a report. Nor is a Browser user permitted to see site settings or other administrator information, because Report Manager makes a call to GetPermissions and determines ahead of time which pages and tabs to display. Because of a client application's reliance on named permissions, your security extension must implement the GetPermissions method of the IAuthorizationExtension interface.

To support your implementation of GetPermissions, the security extension API provides you with the OperationNames class, which contains a set of constant fields representing each of the available permissions in Reporting Services. When you implement GetPermissions, you should analyze the security descriptor for the item and the current user and return a list of permissions based on the access control list for the current user.

Constructors

OperationNames()

Initializes a new instance of the OperationNames class.

Fields

ExecuteReportDefinition

Specifies the “Execute Report Definition” operation.

OperCancelJobs

Specifies the operation "Cancel Jobs".

OperCreateAnySubscription

Specifies the operation "Create Any Subscription".

OperCreateDatasource

Specifies the operation "Create Data Source".

OperCreateFolder

Specifies the operation "Create Folder".

OperCreateLink

Specifies the operation "Create Link".

OperCreateModel

Specifies the operation “Create Model”.

OperCreateReport

Specifies the operation "Create Report".

OperCreateResource

Specifies the operation "Create Resource".

OperCreateRoles

Specifies the operation "Create Roles".

OperCreateSchedules

Specifies the operation "Create Schedules".

OperCreateSnapshot

Specifies the operation "Create Report History".

OperCreateSubscription

Specifies the operation "Create Subscription".

OperDelete

Specifies the operation "Delete".

OperDeleteAnySubscription

Specifies the operation "Delete Any Subscription".

OperDeleteHistory

Specifies the operation "Delete Report History".

OperDeleteRoles

Specifies the operation "Delete Roles".

OperDeleteSchedules

Specifies the operation "Delete Schedules".

OperDeleteSubscription

Specifies the operation "Delete Subscription".

OperExecute

Specifies the operation "Execute".

OperExecuteAndView

Specifies the operation "Execute and View".

OperGenerateEvents

Specifies the operation "Generate Events".

OperListHistory

Specifies the operation "List Report History".

OperListJobs

Specifies the operation "List Jobs".

OperManageSharedSchedules

Specifies the operation "Manage Shared Schedules".

OperReadAnySubscription

Specifies the operation "Read Any Subscription".

OperReadAuthorizationPolicy

Specifies the operation "Read Security Policies".

OperReadContent

Specifies the operation "Read Content".

OperReadDatasources

Specifies the operation "Read Data Sources".

OperReadModelItemSecurityPolicies

Specifies the operation “Read Model Item Security Policies”.

OperReadParameters

Specifies the operation "Read Parameters".

OperReadPolicy

Specifies the operation "Read Policy".

OperReadProperties

Specifies the operation "Read Properties".

OperReadReportDefinition

Specifies the operation "Read Report Definition".

OperReadRoleProperties

Specifies the operation "Read Role Properties".

OperReadSchedules

Specifies the operation "Read Schedules".

OperReadSubscription

Specifies the operation "Read Subscription".

OperReadSystemProperties

Specifies the operation "Read System Properties".

OperReadSystemSecurityPolicy

Specifies the operation "Read System Security Policies".

OperUpdateAnySubscription

Specifies the operation "Update Any Subscription".

OperUpdateContent

Specifies the operation "Update Content".

OperUpdateDatasources

Specifies the operation "Update Data Sources".

OperUpdateDeleteAuthorizationPolicy

Specifies the operation "Update Security Policies".

OperUpdateModelItemSecurityPolicies

Specifies the operation “Update Model Item Security Policies”.

OperUpdateParameters

Specifies the operation "Update Parameters".

OperUpdatePolicy

Specifies the operation "Update Policy".

OperUpdateProperties

Specifies the operation "Update Properties".

OperUpdateReportDefinition

Specifies the operation "Update Report Definition".

OperUpdateRoleProperties

Specifies the operation "Update Role Properties".

OperUpdateSchedules

Specifies the operation "Update Schedules".

OperUpdateSubscription

Specifies the operation "Update Subscription".

OperUpdateSystemProperties

Specifies the operation "Update System Properties".

OperUpdateSystemSecurityPolicy

Specifies the operation "Update System Security Policies."

Applies to