Class ActiveMQJAASSecurityManager
- java.lang.Object
-
- org.apache.activemq.artemis.spi.core.security.ActiveMQJAASSecurityManager
-
- All Implemented Interfaces:
ActiveMQSecurityManager
,ActiveMQSecurityManager5
public class ActiveMQJAASSecurityManager extends java.lang.Object implements ActiveMQSecurityManager5
This implementation delegates to the JAAS security interfaces. TheSubject
returned by the login context is expecting to have a set ofRolePrincipal
for each role of the user.
-
-
Constructor Summary
Constructors Constructor Description ActiveMQJAASSecurityManager()
ActiveMQJAASSecurityManager(java.lang.String configurationName)
ActiveMQJAASSecurityManager(java.lang.String configurationName, java.lang.String certificateConfigurationName)
ActiveMQJAASSecurityManager(java.lang.String configurationName, java.lang.String certificateConfigurationName, org.apache.activemq.artemis.core.config.impl.SecurityConfiguration configuration, org.apache.activemq.artemis.core.config.impl.SecurityConfiguration certificateConfiguration)
ActiveMQJAASSecurityManager(java.lang.String configurationName, org.apache.activemq.artemis.core.config.impl.SecurityConfiguration configuration)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description javax.security.auth.Subject
authenticate(java.lang.String user, java.lang.String password, RemotingConnection remotingConnection, java.lang.String securityDomain)
is this a valid user.boolean
authorize(javax.security.auth.Subject subject, java.util.Set<org.apache.activemq.artemis.core.security.Role> roles, org.apache.activemq.artemis.core.security.CheckType checkType, java.lang.String address)
Determine whether the given user has the correct role for the given check type.org.apache.activemq.artemis.core.config.impl.SecurityConfiguration
getCertificateConfiguration()
org.apache.activemq.artemis.core.config.impl.SecurityConfiguration
getConfiguration()
java.lang.String
getDomain()
java.lang.String
getRolePrincipalClass()
void
setCertificateConfiguration(org.apache.activemq.artemis.core.config.impl.SecurityConfiguration certificateConfiguration)
void
setCertificateConfigurationName(java.lang.String certificateConfigurationName)
void
setConfiguration(org.apache.activemq.artemis.core.config.impl.SecurityConfiguration configuration)
void
setConfigurationName(java.lang.String configurationName)
void
setRolePrincipalClass(java.lang.String rolePrincipalClass)
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-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.activemq.artemis.spi.core.security.ActiveMQSecurityManager
init
-
-
-
-
Constructor Detail
-
ActiveMQJAASSecurityManager
public ActiveMQJAASSecurityManager()
-
ActiveMQJAASSecurityManager
public ActiveMQJAASSecurityManager(java.lang.String configurationName)
-
ActiveMQJAASSecurityManager
public ActiveMQJAASSecurityManager(java.lang.String configurationName, java.lang.String certificateConfigurationName)
-
ActiveMQJAASSecurityManager
public ActiveMQJAASSecurityManager(java.lang.String configurationName, org.apache.activemq.artemis.core.config.impl.SecurityConfiguration configuration)
-
ActiveMQJAASSecurityManager
public ActiveMQJAASSecurityManager(java.lang.String configurationName, java.lang.String certificateConfigurationName, org.apache.activemq.artemis.core.config.impl.SecurityConfiguration configuration, org.apache.activemq.artemis.core.config.impl.SecurityConfiguration certificateConfiguration)
-
-
Method Detail
-
getDomain
public java.lang.String getDomain()
- Specified by:
getDomain
in interfaceActiveMQSecurityManager
-
validateUser
public boolean validateUser(java.lang.String user, java.lang.String password)
Description copied from interface:ActiveMQSecurityManager
is this a valid user.- Specified by:
validateUser
in interfaceActiveMQSecurityManager
- Parameters:
user
- the userpassword
- the users password- Returns:
- true if a valid user
-
authenticate
public javax.security.auth.Subject authenticate(java.lang.String user, java.lang.String password, RemotingConnection remotingConnection, java.lang.String securityDomain)
Description copied from interface:ActiveMQSecurityManager5
is this a valid user. This method is called instead ofActiveMQSecurityManager.validateUser(String, String)
.- Specified by:
authenticate
in interfaceActiveMQSecurityManager5
- Parameters:
user
- the userpassword
- the user's passwordremotingConnection
- the user's connection which contains any corresponding SSL certssecurityDomain
- the name of the JAAS security domain to use (can be null)- Returns:
- the Subject of the authenticated user, else null
-
validateUserAndRole
public 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)
Description copied from interface:ActiveMQSecurityManager
is this a valid user and do they have the correct role- Specified by:
validateUserAndRole
in interfaceActiveMQSecurityManager
- Parameters:
user
- the userpassword
- the users passwordroles
- the roles the user hascheckType
- the type of check to perform- Returns:
- true if the user is valid and they have the correct roles
-
authorize
public boolean authorize(javax.security.auth.Subject subject, java.util.Set<org.apache.activemq.artemis.core.security.Role> roles, org.apache.activemq.artemis.core.security.CheckType checkType, java.lang.String address)
Description copied from interface:ActiveMQSecurityManager5
Determine whether the given user has the correct role for the given check type. This method is called instead ofActiveMQSecurityManager.validateUserAndRole(String, String, Set, CheckType)
.- Specified by:
authorize
in interfaceActiveMQSecurityManager5
- Parameters:
subject
- the Subject to authorizeroles
- the roles configured in the security-settingscheckType
- which permission to validateaddress
- the address (or FQQN) to grant access to- Returns:
- true if the user is authorized, else false
-
setConfigurationName
public void setConfigurationName(java.lang.String configurationName)
-
setConfiguration
public void setConfiguration(org.apache.activemq.artemis.core.config.impl.SecurityConfiguration configuration)
-
setCertificateConfigurationName
public void setCertificateConfigurationName(java.lang.String certificateConfigurationName)
-
setCertificateConfiguration
public void setCertificateConfiguration(org.apache.activemq.artemis.core.config.impl.SecurityConfiguration certificateConfiguration)
-
getConfiguration
public org.apache.activemq.artemis.core.config.impl.SecurityConfiguration getConfiguration()
-
getCertificateConfiguration
public org.apache.activemq.artemis.core.config.impl.SecurityConfiguration getCertificateConfiguration()
-
getRolePrincipalClass
public java.lang.String getRolePrincipalClass()
-
setRolePrincipalClass
public void setRolePrincipalClass(java.lang.String rolePrincipalClass)
-
-