Package org.apache.activemq.artemis.spi.core.security

## Interface ActiveMQSecurityManager

- All Known Subinterfaces:
    `ActiveMQSecurityManager2`, `ActiveMQSecurityManager3`, `ActiveMQSecurityManager4`, `ActiveMQSecurityManager5`
  All Known Implementing Classes:
    `ActiveMQBasicSecurityManager`, `ActiveMQJAASSecurityManager`, `ActiveMQSecurityManagerImpl`

      public interface ActiveMQSecurityManager

  Use to validate whether a user has is valid to connect to the server and perform certain functions

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `default java.lang.String` | `getDomain()` |
    `default ActiveMQSecurityManager` | `init​(java.util.Map<java.lang.String,​java.lang.String> properties)` | Initialize the manager with the given configuration properties.
    `boolean` | `validateUser​(java.lang.String user, java.lang.String password)` | is this a valid user.
    `boolean` | `validateUserAndRole​(java.lang.String user, java.lang.String password, java.util.Set<org.apache.activemq.artemis.core.security.Role> roles, org.apache.activemq.artemis.core.security.CheckType checkType)` | is this a valid user and do they have the correct role

- - ### Method Detail

    - #### getDomain

          default java.lang.String getDomain()

    - #### validateUser

          boolean validateUser​(java.lang.String user,
                               java.lang.String password)

      is this a valid user.
      Parameters:
        `user` - the user
        `password` - the users password
      Returns:
        true if a valid user

    - #### validateUserAndRole

          boolean validateUserAndRole​(java.lang.String user,
                                      java.lang.String password,
                                      java.util.Set<org.apache.activemq.artemis.core.security.Role> roles,
                                      org.apache.activemq.artemis.core.security.CheckType checkType)

      is this a valid user and do they have the correct role
      Parameters:
        `user` - the user
        `password` - the users password
        `roles` - the roles the user has
        `checkType` - the type of check to perform
      Returns:
        true if the user is valid and they have the correct roles

    - #### init

          default ActiveMQSecurityManager init​(java.util.Map<java.lang.String,​java.lang.String> properties)

      Initialize the manager with the given configuration properties. This method is called by the broker when the file-based configuration is read. If you're creating/configuring the plugin programmatically then the recommended approach is to simply use the manager's getters/setters rather than this method.
      Parameters:
        `properties` - name/value pairs used to configure the ActiveMQSecurityManager instance
      Returns:
        `this` instance