OperationNames Class

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

命名空间: Microsoft.ReportingServices.Interfaces
程序集: Microsoft.ReportingServices.Interfaces (in microsoft.reportingservices.interfaces.dll)

语法

声明
Public NotInheritable Class OperationNames
public sealed class OperationNames
public ref class OperationNames sealed
public final class OperationNames
public final class OperationNames

备注

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.

Inheritance Hierarchy

System.Object
  Microsoft.ReportingServices.Interfaces.OperationNames

线程安全

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

平台

开发平台

有关支持的平台列表,请参阅安装 SQL Server 2005 的硬件和软件要求。

目标平台

有关支持的平台列表,请参阅安装 SQL Server 2005 的硬件和软件要求。

请参阅

参考

OperationNames Members
Microsoft.ReportingServices.Interfaces Namespace