org.globus.gsi.jaas
Class GlobusSubject

java.lang.Object
  extended by org.globus.gsi.jaas.JaasSubject
      extended by org.globus.gsi.jaas.GlobusSubject

public class GlobusSubject
extends JaasSubject

An implementation of the JaasSubject API to circumvent the JAAS problem of Subject propagation. The implementation uses a stackable version of InheritableThreadLocal class to associate the Subject object with the current thread. Any new thread started within a thread that has a Subject object associated with it, will inherit the parent's Subject object. Also, nested doAs, runAs calls are supported.


Constructor Summary
protected GlobusSubject()
           
 
Method Summary
 Subject getSubject()
          SPI method.
 Object runAs(Subject subject, PrivilegedAction action)
          SPI method.
 Object runAs(Subject subject, PrivilegedExceptionAction action)
          SPI method.
 
Methods inherited from class org.globus.gsi.jaas.JaasSubject
doAs, doAs, getCurrentSubject, getJaasSubject
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

GlobusSubject

protected GlobusSubject()
Method Detail

getSubject

public Subject getSubject()
Description copied from class: JaasSubject
SPI method.

Specified by:
getSubject in class JaasSubject

runAs

public Object runAs(Subject subject,
                    PrivilegedAction action)
Description copied from class: JaasSubject
SPI method.

Specified by:
runAs in class JaasSubject

runAs

public Object runAs(Subject subject,
                    PrivilegedExceptionAction action)
             throws PrivilegedActionException
Description copied from class: JaasSubject
SPI method.

Specified by:
runAs in class JaasSubject
Throws:
PrivilegedActionException