com.esri.arcgis.server
Interface IPermissionsManager

All Superinterfaces:
Serializable
All Known Implementing Classes:
IPermissionsManagerProxy, ServerObjectManager

public interface IPermissionsManager
extends Serializable

Provides managerial access to the Permissions Store.

Description

IPermissionsManager provides methods to query the state of Allow and Deny rules on operations on ArcGIS Server resources.

The IPermissionsManager interface can be obtained by a query interface with the IServerObjectManager interface.

A list of security model concepts is useful here.
Permissions are assigned in a Continuous Inheritance model. A child resource inherits permissions from its parent resource and the child can be changed to differ from the parent. Changing the permission on the parent for a specific user/role restores inheritance to match the parent recursively; all children will be changed to match the parent.

Remarks

The following state of the role-based security model of the ArcGIS Server is exposed by the methods of IPermissionsAdmin :

Query role-based ArcGIS Server security:

When To Use

Use the IPermissionsManager interface when your application needs to query the state of role-based permissions on an ArcGIS Server.

If your application needs to connect to the server to perform changes to the role-based ArcGIS Server security model, use the IPermissionsAdmin interface instead.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.


Method Summary
 boolean checkForDescendentsWithDifferentPermissions(String principal, String resource, String operation)
          Checks whether the specified principal has different permissions among the descendents of the specified parent resource/operation combination.
 boolean checkPermission(String principal, String resource, String operation)
          Checks whether the specified principal has permission to perform the given operation on the indicated resource.
 IEnumBSTR getPrincipalsWithPermissionOnResource(String resource, String operation)
          Enumerates all principals having permission to perform the specified operation on the given resource.
 

Method Detail

checkPermission

boolean checkPermission(String principal,
                        String resource,
                        String operation)
                        throws IOException,
                               AutomationException
Checks whether the specified principal has permission to perform the given operation on the indicated resource.

Remarks

Use the CheckPermissions method to query the server object manager for whether the given roles have permissions to perform all operations on an indicated resource.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
principal - The principal (in)
resource - The resource (in)
operation - The operation (in)
Returns:
The pbRes
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

getPrincipalsWithPermissionOnResource

IEnumBSTR getPrincipalsWithPermissionOnResource(String resource,
                                                String operation)
                                                throws IOException,
                                                       AutomationException
Enumerates all principals having permission to perform the specified operation on the given resource.

Remarks

Use the GetPrincipalsWithPermissionsOnResource method to query the server object manager for the roles that have permissions for all operations on the indicated resource.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
resource - The resource (in)
operation - The operation (in)
Returns:
A reference to a com.esri.arcgis.system.IEnumBSTR
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.

checkForDescendentsWithDifferentPermissions

boolean checkForDescendentsWithDifferentPermissions(String principal,
                                                    String resource,
                                                    String operation)
                                                    throws IOException,
                                                           AutomationException
Checks whether the specified principal has different permissions among the descendents of the specified parent resource/operation combination.

Remarks

Use the CheckForDescendentsWithDifferentPermissions method to query the server object manager as to whether the indicated resource has children that have permissions with different permissions.

Product Availability

Available with ArcGIS Engine, ArcGIS Desktop, and ArcGIS Server.

Parameters:
principal - The principal (in)
resource - The resource (in)
operation - The operation (in)
Returns:
The pbRes
Throws:
IOException - If there are interop problems.
AutomationException - If the ArcObject component throws an exception.