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.
Methods
Name | Description | |
---|---|---|
Equals | (Inherited from Object.) | |
Finalize | (Inherited from Object.) | |
GetHashCode | (Inherited from Object.) | |
GetType | (Inherited from Object.) | |
MemberwiseClone | (Inherited from Object.) | |
ToString | (Inherited from Object.) |
Top
Fields
Name | Description | |
---|---|---|
ExecuteReportDefinition | ||
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 | ||
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 | ||
OperReadParameters | Specifies the operation "Read Parameters". | |
OperReadPolicy | Specifies the operation "Read Policy". | |
OperReadProperties | Specifies the operation "Read System 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 | ||
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 | ||
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." |
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.