Class JaspiAuthenticatorFactory

java.lang.Object
org.eclipse.jetty.security.DefaultAuthenticatorFactory
org.eclipse.jetty.security.jaspi.JaspiAuthenticatorFactory
All Implemented Interfaces:
Authenticator.Factory

public class JaspiAuthenticatorFactory extends DefaultAuthenticatorFactory
Jakarta Authentication (JASPI) Authenticator Factory. This is used to link a jetty-security Authenticator.Factory to a Jakarta Authentication AuthConfigFactory.

This should be initialized with the provided DefaultAuthConfigFactory to set up Jakarta Authentication AuthConfigFactory before use. (A different AuthConfigFactory may also be provided using the same steps below)

To initialize either:

  • invoke AuthConfigFactory.setFactory(AuthConfigFactory)
  • Alternatively: set AuthConfigFactory.DEFAULT_FACTORY_SECURITY_PROPERTY
  • Field Details

  • Constructor Details

    • JaspiAuthenticatorFactory

      public JaspiAuthenticatorFactory()
  • Method Details

    • getServiceSubject

      public Subject getServiceSubject()
      Returns:
      the serviceSubject
    • setServiceSubject

      public void setServiceSubject(Subject serviceSubject)
      Parameters:
      serviceSubject - the serviceSubject to set
    • getServerName

      public String getServerName()
      Returns:
      the serverName
    • setServerName

      public void setServerName(String serverName)
      Parameters:
      serverName - the serverName to set
    • getAuthenticator

      public Authenticator getAuthenticator(Server server, jakarta.servlet.ServletContext context, Authenticator.AuthConfiguration configuration, IdentityService identityService, LoginService loginService)
      Specified by:
      getAuthenticator in interface Authenticator.Factory
      Overrides:
      getAuthenticator in class DefaultAuthenticatorFactory
    • findServiceSubject

      protected Subject findServiceSubject(Server server)
      Find a service Subject. If setServiceSubject(Subject) has not been used to set a subject, then the ContainerLifeCycle.getBeans(Class) method is used to look for a Subject.
      Parameters:
      server - the server to pull the Subject from
      Returns:
      the subject
    • findServerName

      protected String findServerName(jakarta.servlet.ServletContext context, Server server)
      Find a servername. If setServerName(String) has not been called, then use the virtualServerName of the context. If this is also null, then use the name of the a principal in the service subject. If none are found, return "server".
      Parameters:
      context -
      server - the server to find the name of
      Returns:
      the server name from the service Subject (or default value if not found in subject or principals)