Class 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

      Constructors 
      Modifier Constructor Description
      protected JaasSubject()  
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      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().