OperationNames Class

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

Inheritance Hierarchy

System.Object
  Microsoft.ReportingServices.Interfaces.OperationNames

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

Syntax

'Declaration
Public NotInheritable Class OperationNames
'Usage
Dim instance As OperationNames
public sealed class OperationNames
public ref class OperationNames sealed
[<SealedAttribute>]
type OperationNames =  class end
public final class OperationNames

The OperationNames type exposes the following members.

Constructors

  Name Description
Public method OperationNames

Top

Methods

  Name Description
Public method Equals (Inherited from Object.)
Protected method Finalize (Inherited from Object.)
Public method GetHashCode (Inherited from Object.)
Public method GetType (Inherited from Object.)
Protected method MemberwiseClone (Inherited from Object.)
Public method ToString (Inherited from Object.)

Top

Fields

  Name Description
Public fieldStatic member ExecuteReportDefinition
Public fieldStatic member OperCancelJobs Specifies the operation "Cancel Jobs".
Public fieldStatic member OperCreateAnySubscription Specifies the operation "Create Any Subscription".
Public fieldStatic member OperCreateDatasource Specifies the operation "Create data source".
Public fieldStatic member OperCreateFolder Specifies the operation "Create Folder".
Public fieldStatic member OperCreateLink Specifies the operation "Create Link".
Public fieldStatic member OperCreateModel
Public fieldStatic member OperCreateReport Specifies the operation "Create Report".
Public fieldStatic member OperCreateResource Specifies the operation "Create Resource".
Public fieldStatic member OperCreateRoles Specifies the operation "Create Roles".
Public fieldStatic member OperCreateSchedules Specifies the operation "Create Schedules".
Public fieldStatic member OperCreateSnapshot Specifies the operation "Create Report History".
Public fieldStatic member OperCreateSubscription Specifies the operation "Create Subscription".
Public fieldStatic member OperDelete Specifies the operation "Delete".
Public fieldStatic member OperDeleteAnySubscription Specifies the operation "Delete Any Subscription".
Public fieldStatic member OperDeleteHistory Specifies the operation "Delete Report History".
Public fieldStatic member OperDeleteRoles Specifies the operation "Delete Roles".
Public fieldStatic member OperDeleteSchedules Specifies the operation "Delete Schedules".
Public fieldStatic member OperDeleteSubscription Specifies the operation "Delete Subscription".
Public fieldStatic member OperExecute Specifies the operation "Execute".
Public fieldStatic member OperExecuteAndView Specifies the operation "Execute and View".
Public fieldStatic member OperGenerateEvents Specifies the operation "Generate Events".
Public fieldStatic member OperListHistory Specifies the operation "List Report History".
Public fieldStatic member OperListJobs Specifies the operation "List Jobs".
Public fieldStatic member OperManageSharedSchedules Specifies the operation "Manage Shared Schedules".
Public fieldStatic member OperReadAnySubscription Specifies the operation "Read Any Subscription".
Public fieldStatic member OperReadAuthorizationPolicy Specifies the operation "Read Security Policies".
Public fieldStatic member OperReadContent Specifies the operation "Read Content".
Public fieldStatic member OperReadDatasources Specifies the operation "Read Data Sources".
Public fieldStatic member OperReadModelItemSecurityPolicies
Public fieldStatic member OperReadParameters Specifies the operation "Read Parameters".
Public fieldStatic member OperReadPolicy Specifies the operation "Read Policy".
Public fieldStatic member OperReadProperties Specifies the operation "Read System Properties".
Public fieldStatic member OperReadReportDefinition Specifies the operation "Read Report Definition".
Public fieldStatic member OperReadRoleProperties Specifies the operation "Read Role Properties".
Public fieldStatic member OperReadSchedules Specifies the operation "Read Schedules".
Public fieldStatic member OperReadSubscription Specifies the operation "Read Subscription".
Public fieldStatic member OperReadSystemProperties
Public fieldStatic member OperReadSystemSecurityPolicy Specifies the operation "Read System Security Policies".
Public fieldStatic member OperUpdateAnySubscription Specifies the operation "Update Any Subscription".
Public fieldStatic member OperUpdateContent Specifies the operation "Update Content".
Public fieldStatic member OperUpdateDatasources Specifies the operation "Update Data Sources".
Public fieldStatic member OperUpdateDeleteAuthorizationPolicy Specifies the operation "Update Security Policies".
Public fieldStatic member OperUpdateModelItemSecurityPolicies
Public fieldStatic member OperUpdateParameters Specifies the operation "Update Parameters".
Public fieldStatic member OperUpdatePolicy Specifies the operation "Update Policy".
Public fieldStatic member OperUpdateProperties Specifies the operation "Update Properties".
Public fieldStatic member OperUpdateReportDefinition Specifies the operation "Update Report Definition".
Public fieldStatic member OperUpdateRoleProperties Specifies the operation "Update Role Properties".
Public fieldStatic member OperUpdateSchedules Specifies the operation "Update Schedules".
Public fieldStatic member OperUpdateSubscription Specifies the operation "Update Subscription".
Public fieldStatic member OperUpdateSystemProperties Specifies the operation "Update System Properties".
Public fieldStatic member OperUpdateSystemSecurityPolicy Specifies the operation "Update System Security Policies."

Top

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.

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.