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. TheSubjectreturned by the login context is expecting to have a set ofRolePrincipalfor 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.Subjectauthenticate(java.lang.String user, java.lang.String password, RemotingConnection remotingConnection, java.lang.String securityDomain)is this a valid user.booleanauthorize(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.SecurityConfigurationgetCertificateConfiguration()org.apache.activemq.artemis.core.config.impl.SecurityConfigurationgetConfiguration()java.lang.StringgetDomain()java.lang.StringgetRolePrincipalClass()voidsetCertificateConfiguration(org.apache.activemq.artemis.core.config.impl.SecurityConfiguration certificateConfiguration)voidsetCertificateConfigurationName(java.lang.String certificateConfigurationName)voidsetConfiguration(org.apache.activemq.artemis.core.config.impl.SecurityConfiguration configuration)voidsetConfigurationName(java.lang.String configurationName)voidsetRolePrincipalClass(java.lang.String rolePrincipalClass)booleanvalidateUser(java.lang.String user, java.lang.String password)is this a valid user.booleanvalidateUserAndRole(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:
getDomainin interfaceActiveMQSecurityManager
-
validateUser
public boolean validateUser(java.lang.String user, java.lang.String password)Description copied from interface:ActiveMQSecurityManageris this a valid user.- Specified by:
validateUserin 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:ActiveMQSecurityManager5is this a valid user. This method is called instead ofActiveMQSecurityManager.validateUser(String, String).- Specified by:
authenticatein 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:ActiveMQSecurityManageris this a valid user and do they have the correct role- Specified by:
validateUserAndRolein 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:ActiveMQSecurityManager5Determine 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:
authorizein 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)
-
-