org.globus.gridshib.gt.authorization
Class GS4GT.PushPullPDPImpl

java.lang.Object
  extended by org.globus.gridshib.gt.authorization.BasePDP
      extended by org.globus.gridshib.gt.authorization.GS4GT.PushPullPDPImpl
All Implemented Interfaces:
GridShibConfigParams, PDP
Enclosing class:
GS4GT

public static class GS4GT.PushPullPDPImpl
extends BasePDP
implements GridShibConfigParams

Combined interceptor for attribute push/pull that implements the GridShib Attribute Aggregation Algorithm.

See Also:
BasePDP, GridShibConfigParams

Field Summary
 
Fields inherited from interface org.globus.gridshib.gt.authorization.GridShibConfigParams
AA_INSTANCE_KEY, ALL_CONFIG_KEYS, ATTR_FILE_KEY, AUTHZ_HOST_KEY, BLACKLIST_IP_ADDRESSES_FILE_KEY, BLACKLIST_NAME_IDS_FILE_KEY, CACHE_KEY, CONSULT_GRIDMAP_KEY, DEFAULT_GRIDMAP, ENABLE_ATTRIBUTE_AUTHZ_KEY, ENABLE_ATTRIBUTE_MAPPING_KEY, ENABLE_ATTRIBUTE_QUERY_KEY, ENABLE_BLACKLISTING_KEY, IDP_PROVIDER_ID_KEY, MAP_FILE_KEY, METADATA_PATH_KEY, RESPECT_KEY, SAML_MAP_POLICY_KEY, SHIB_PDP_POLICY_KEY, SP_PROVIDER_ID_KEY, USE_VOMS
 
Constructor Summary
GS4GT.PushPullPDPImpl()
           
 
Method Summary
 void initialize(HashMap configs, String name)
          If a subclass overrides this method (which is almost always the case), it MUST call this method at the end of a successful initialization.
 int isPermitted(Subject peerSubject, javax.xml.rpc.handler.MessageContext context, javax.xml.namespace.QName operation)
          This PDP implementation orchestrates the following specific workflow: Invoke GS4GT.PrePolicyPDPImpl If PERMIT or DENY, return PERMIT or DENY (resp.); otherwise, continue Invoke SAMLAttributePDPImpl If PERMIT, return PERMIT; otherwise, continue Invoke GS4GT.PullPDPImpl Return GS4GT.PullPDPImpl decision If this PDP reaches the end of the authorization chain without returning PERMIT or DENY, it returns whatever GS4GT.PullPDPImpl returns.
 
Methods inherited from class org.globus.gridshib.gt.authorization.BasePDP
isInitialized
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GS4GT.PushPullPDPImpl

public GS4GT.PushPullPDPImpl()
Method Detail

initialize

public void initialize(HashMap configs,
                       String name)
                throws Exception
Description copied from class: BasePDP
If a subclass overrides this method (which is almost always the case), it MUST call this method at the end of a successful initialization.

Specified by:
initialize in interface PDP
Overrides:
initialize in class BasePDP
Throws:
Exception

isPermitted

public int isPermitted(Subject peerSubject,
                       javax.xml.rpc.handler.MessageContext context,
                       javax.xml.namespace.QName operation)
                throws Exception
This PDP implementation orchestrates the following specific workflow:
  1. Invoke GS4GT.PrePolicyPDPImpl
    • If PERMIT or DENY, return PERMIT or DENY (resp.); otherwise, continue
  2. Invoke SAMLAttributePDPImpl
    • If PERMIT, return PERMIT; otherwise, continue
  3. Invoke GS4GT.PullPDPImpl
  4. Return GS4GT.PullPDPImpl decision
If this PDP reaches the end of the authorization chain without returning PERMIT or DENY, it returns whatever GS4GT.PullPDPImpl returns.

Specified by:
isPermitted in interface PDP
Throws:
Exception


Copyright © 2007-2008 University of Illinois. All Rights Reserved.