com.esri.arcgis.server
Class IPermissionsManagerProxy

java.lang.Object
  extended by com.esri.arcgis.interop.Dispatch
      extended by com.esri.arcgis.server.IPermissionsManagerProxy
All Implemented Interfaces:
IPermissionsManager, Externalizable, Serializable

public class IPermissionsManagerProxy
extends com.esri.arcgis.interop.Dispatch
implements IPermissionsManager, 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.

See Also:
Serialized Form

Field Summary
 
Fields inherited from class com.esri.arcgis.interop.Dispatch
DISPATCH_METHOD, DISPATCH_PROPERTYGET, DISPATCH_PROPERTYPUT, DISPATCH_PROPERTYPUTREF, E
 
Constructor Summary
  IPermissionsManagerProxy()
           
  IPermissionsManagerProxy(Object obj)
           
protected IPermissionsManagerProxy(Object obj, String iid)
           
 
Method Summary
 void addListener(String iidStr, Object theListener, Object theSource)
           
 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.
 void readExternal(ObjectInput in)
           
 void removeListener(String iidStr, Object theListener)
           
 void writeExternal(ObjectOutput out)
           
 
Methods inherited from class com.esri.arcgis.interop.Dispatch
bindUsingMoniker, constructVtblPosTable, convertToNative, cookieForListener, createDispatch, createObjrefMonikerDisplayName, equals, getActiveObject, getActiveObject, getDefaultProperty, getDispatchIdOfName, getLastErrorCode, getMtsObjectContext, getObjRef, getPropertyByName, getPropertyByName, getVtblPos, hashCode, initDispatch, invoke, invokeMethodByName, invokeMethodByName, invokeMethodByName, invokePropertyGetByName, invokePropertyPutByName, invokePropertyPutByRefByName, isNativeMode, isObjRef, queryInterface, release, setNativeMode, setPropertyByName, toString, vtblInvoke
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

IPermissionsManagerProxy

public IPermissionsManagerProxy()

IPermissionsManagerProxy

public IPermissionsManagerProxy(Object obj)
                         throws IOException
Throws:
IOException

IPermissionsManagerProxy

protected IPermissionsManagerProxy(Object obj,
                                   String iid)
                            throws IOException
Throws:
IOException
Method Detail

addListener

public void addListener(String iidStr,
                        Object theListener,
                        Object theSource)
                 throws IOException
Overrides:
addListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

removeListener

public void removeListener(String iidStr,
                           Object theListener)
                    throws IOException
Overrides:
removeListener in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

checkPermission

public 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.

Specified by:
checkPermission in interface IPermissionsManager
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

public 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.

Specified by:
getPrincipalsWithPermissionOnResource in interface IPermissionsManager
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

public 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.

Specified by:
checkForDescendentsWithDifferentPermissions in interface IPermissionsManager
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.

writeExternal

public void writeExternal(ObjectOutput out)
                   throws IOException
Specified by:
writeExternal in interface Externalizable
Overrides:
writeExternal in class com.esri.arcgis.interop.Dispatch
Throws:
IOException

readExternal

public void readExternal(ObjectInput in)
                  throws IOException,
                         ClassNotFoundException
Specified by:
readExternal in interface Externalizable
Overrides:
readExternal in class com.esri.arcgis.interop.Dispatch
Throws:
IOException
ClassNotFoundException