org.globus.gsi.jaas
Class JaasSubject

java.lang.Object
  extended byorg.globus.gsi.jaas.JaasSubject
Direct Known Subclasses:
GlobusSubject, StandardSubject

public abstract class JaasSubject
extends Object

Generic JAAS Subject helper API that provides abstraction layer on top of vendor-specific JAAS Subject extensions implementations. Most vendors defined their own JAAS Subject helper classes because of the Subject propagation issue in JAAS.


Constructor Summary
protected JaasSubject()
           
 
Method Summary
static Object doAs(Subject subject, PrivilegedAction action)
          A convenience method, calls JaasSubject.getJaasSubject().runAs().
static Object doAs(Subject subject, PrivilegedExceptionAction action)
          A convenience method, calls JaasSubject.getJaasSubject().runAs().
static Subject getCurrentSubject()
          A convenience method, calls JaasSubject.getJaasSubject().getSubject().
static JaasSubject getJaasSubject()
          Gets current implementation of the JaasSubject API.
abstract  Subject getSubject()
          SPI method.
abstract  Object runAs(Subject subject, PrivilegedAction action)
          SPI method.
abstract  Object runAs(Subject subject, PrivilegedExceptionAction action)
          SPI method.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JaasSubject

protected JaasSubject()
Method Detail

getJaasSubject

public static JaasSubject getJaasSubject()
Gets current implementation of the JaasSubject API. The method attempts to load a JaasSubject implementation by loading a class specified by the "org.globus.jaas.provider" system property. If the property is not set the default Globus implementation is loaded.


getSubject

public abstract Subject getSubject()
SPI method.


runAs

public abstract Object runAs(Subject subject,
                             PrivilegedAction action)
SPI method.


runAs

public abstract Object runAs(Subject subject,
                             PrivilegedExceptionAction action)
                      throws PrivilegedActionException
SPI method.

Throws:
PrivilegedActionException

doAs

public static Object doAs(Subject subject,
                          PrivilegedExceptionAction action)
                   throws PrivilegedActionException
A convenience method, calls JaasSubject.getJaasSubject().runAs().

Throws:
PrivilegedActionException

doAs

public static Object doAs(Subject subject,
                          PrivilegedAction action)
A convenience method, calls JaasSubject.getJaasSubject().runAs().


getCurrentSubject

public static Subject getCurrentSubject()
A convenience method, calls JaasSubject.getJaasSubject().getSubject().