Class ServerUserAuthService

All Implemented Interfaces:
Closeable, AutoCloseable, Channel, Closeable, PropertyResolver, Service, SessionContextHolder, SessionHolder<Session>, ServerSessionHolder

public class ServerUserAuthService extends AbstractCloseable implements Service, ServerSessionHolder
Author:
Apache MINA SSHD Project
  • Constructor Details

  • Method Details

    • getWelcomePhase

      public WelcomeBannerPhase getWelcomePhase()
    • start

      public void start()
      Specified by:
      start in interface Service
    • getSession

      public ServerSession getSession()
      Specified by:
      getSession in interface SessionHolder<Session>
    • getServerSession

      public ServerSession getServerSession()
      Specified by:
      getServerSession in interface ServerSessionHolder
      Returns:
      The underlying ServerSession used
    • getProperties

      public Map<String,Object> getProperties()
      Description copied from interface: PropertyResolver

      A map of properties that can be used to configure the SSH server or client. This map will never be changed by either the server or client and is not supposed to be changed at runtime (changes are not bound to have any effect on a running client or server), though it may affect the creation of sessions later as these values are usually not cached.

      Note: the type of the mapped property should match the expected configuration value type - Long, Integer, Boolean, String, etc.... If it doesn't, the toString() result of the mapped value is used to convert it to the required type. E.g., if the mapped value is the string "1234" and the expected value is a long then it will be parsed into one. Also, if the mapped value is an Integer but a long is expected, then it will be converted into one.

      Specified by:
      getProperties in interface PropertyResolver
      Returns:
      a valid Map containing configuration values, never null. Note: may be immutable.
    • process

      public void process(int cmd, Buffer buffer) throws Exception
      Description copied from interface: Service
      Service the request.
      Specified by:
      process in interface Service
      Parameters:
      cmd - The incoming command type
      buffer - The Buffer containing optional command parameters
      Throws:
      Exception - If failed to process the command
    • handleUserAuthRequestMessage

      protected boolean handleUserAuthRequestMessage(ServerSession session, Buffer buffer, AtomicReference<Boolean> authHolder) throws Exception
      Throws:
      Exception
    • asyncAuth

      protected void asyncAuth(int cmd, Buffer buffer, boolean authed)
    • handleAuthenticationInProgress

      protected void handleAuthenticationInProgress(int cmd, Buffer buffer) throws Exception
      Throws:
      Exception
    • handleAuthenticationSuccess

      protected void handleAuthenticationSuccess(int cmd, Buffer buffer) throws Exception
      Throws:
      Exception
    • handleAuthenticationFailure

      protected void handleAuthenticationFailure(int cmd, Buffer buffer) throws Exception
      Throws:
      Exception
    • sendWelcomeBanner

      public IoWriteFuture sendWelcomeBanner(ServerSession session) throws IOException
      Sends the welcome banner (if any configured) and if not already invoked
      Parameters:
      session - The ServerSession to send the welcome banner to
      Returns:
      The sent welcome banner IoWriteFuture - null if none sent
      Throws:
      IOException - If failed to send the banner
    • resolveWelcomeBanner

      protected String resolveWelcomeBanner(ServerSession session) throws IOException
      Throws:
      IOException
    • loadWelcomeBanner

      protected String loadWelcomeBanner(ServerSession session, URL url, Charset cs) throws IOException
      Throws:
      IOException
    • getFactoryManager

      public ServerFactoryManager getFactoryManager()