org.globus.gsi.gssapi.jaas
Class JaasSubject

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

public abstract class JaasSubject
extends java.lang.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 java.lang.Object doAs(javax.security.auth.Subject subject, java.security.PrivilegedAction action)
          A convenience method, calls JaasSubject.getJaasSubject().runAs().
static java.lang.Object doAs(javax.security.auth.Subject subject, java.security.PrivilegedExceptionAction action)
          A convenience method, calls JaasSubject.getJaasSubject().runAs().
static javax.security.auth.Subject getCurrentSubject()
          A convenience method, calls JaasSubject.getJaasSubject().getSubject().
static JaasSubject getJaasSubject()
          Gets current implementation of the JaasSubject API.
abstract  javax.security.auth.Subject getSubject()
          SPI method.
abstract  java.lang.Object runAs(javax.security.auth.Subject subject, java.security.PrivilegedAction action)
          SPI method.
abstract  java.lang.Object runAs(javax.security.auth.Subject subject, java.security.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 javax.security.auth.Subject getSubject()
SPI method.


runAs

public abstract java.lang.Object runAs(javax.security.auth.Subject subject,
                                       java.security.PrivilegedAction action)
SPI method.


runAs

public abstract java.lang.Object runAs(javax.security.auth.Subject subject,
                                       java.security.PrivilegedExceptionAction action)
                                throws java.security.PrivilegedActionException
SPI method.

Throws:
java.security.PrivilegedActionException

doAs

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

Throws:
java.security.PrivilegedActionException

doAs

public static java.lang.Object doAs(javax.security.auth.Subject subject,
                                    java.security.PrivilegedAction action)
A convenience method, calls JaasSubject.getJaasSubject().runAs().


getCurrentSubject

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