Package org.globus.gsi.gssapi.jaas

# Class GlobusSubject

java.lang.Object
org.globus.gsi.gssapi.jaas.JaasSubject
org.globus.gsi.gssapi.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

Constructors
Modifier
Constructor
Description
`protected`
`GlobusSubject()`

## Method Summary

Modifier and Type
Method
Description
`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.gssapi.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 Details

### GlobusSubject

protected GlobusSubject()

## Method Details

### 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`