public class JaasDualAuthenticationBroker extends BrokerFilter implements AuthenticationBroker
An example login.config
to do do this is:
activemq-domain { org.apache.activemq.jaas.PropertiesLoginModule sufficient debug=true org.apache.activemq.jaas.properties.user="users.properties" org.apache.activemq.jaas.properties.group="groups.properties"; org.apache.activemq.jaas.GuestLoginModule sufficient debug=true org.apache.activemq.jaas.guest.user="guest" org.apache.activemq.jaas.guest.group="guests"; }; activemq-ssl-domain { org.apache.activemq.jaas.TextFileCertificateLoginModule required debug=true org.apache.activemq.jaas.textfiledn.user="dns.properties" org.apache.activemq.jaas.textfiledn.group="groups.properties"; };
next
Constructor and Description |
---|
JaasDualAuthenticationBroker(Broker next,
String jaasConfiguration,
String jaasSslConfiguration)
Simple constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
addConnection(ConnectionContext context,
ConnectionInfo info)
Overridden to allow for authentication using different Jaas
configurations depending on if the connection is SSL or not.
|
SecurityContext |
authenticate(String username,
String password,
X509Certificate[] peerCertificates)
Authenticate the given user using the mechanism provided by this service.
|
void |
removeConnection(ConnectionContext context,
ConnectionInfo info,
Throwable error)
Overriding removeConnection to make sure the security context is cleaned.
|
void |
removeDestination(ConnectionContext context,
ActiveMQDestination destination,
long timeout)
Used to destroy a destination.
|
acknowledge, addBroker, addConsumer, addDestination, addDestinationInfo, addProducer, addSession, beginTransaction, brokerServiceStarted, commitTransaction, fastProducer, forgetTransaction, gc, getAdaptor, getAdminConnectionContext, getBrokerId, getBrokerName, getBrokerSequenceId, getBrokerService, getClients, getDestinationMap, getDestinationMap, getDestinations, getDestinations, getDurableDestinations, getExecutor, getNext, getPeerBrokerInfos, getPreparedTransactions, getRoot, getScheduler, getTempDataStore, getVmConnectorURI, isExpired, isFaultTolerantConfiguration, isFull, isStopped, messageConsumed, messageDelivered, messageDiscarded, messageExpired, messagePull, networkBridgeStarted, networkBridgeStopped, nowMasterBroker, postProcessDispatch, prepareTransaction, preProcessDispatch, processConsumerControl, processDispatchNotification, reapplyInterceptor, removeBroker, removeConsumer, removeDestinationInfo, removeProducer, removeSession, removeSubscription, rollbackTransaction, send, sendToDeadLetterQueue, setAdminConnectionContext, slowConsumer, start, stop, virtualDestinationAdded, virtualDestinationRemoved
public JaasDualAuthenticationBroker(Broker next, String jaasConfiguration, String jaasSslConfiguration)
next
- The Broker that does the actual work for this Filter.jaasConfiguration
- The JAAS domain configuration name for
non-SSL connections (refer to JAAS documentation).jaasSslConfiguration
- The JAAS domain configuration name for
SSL connections (refer to JAAS documentation).public void addConnection(ConnectionContext context, ConnectionInfo info) throws Exception
addConnection
in interface Broker
addConnection
in class BrokerFilter
context
- The context for the incoming Connection.info
- The ConnectionInfo Command representing the incoming
connection.Exception
- TODOpublic void removeConnection(ConnectionContext context, ConnectionInfo info, Throwable error) throws Exception
removeConnection
in interface Broker
removeConnection
in class BrokerFilter
context
- the environment the operation is being executed under.error
- null if the client requested the disconnect or the error
that caused the client to disconnect.Exception
- TODOpublic void removeDestination(ConnectionContext context, ActiveMQDestination destination, long timeout) throws Exception
Region
removeDestination
in interface Region
removeDestination
in class BrokerFilter
context
- the environment the operation is being executed under.destination
- what is being removed from the broker.timeout
- the max amount of time to wait for the destination to quiesceException
- TODOpublic SecurityContext authenticate(String username, String password, X509Certificate[] peerCertificates) throws SecurityException
AuthenticationBroker
authenticate
in interface AuthenticationBroker
username
- the given user name to authenticate, null indicates an anonymous user.password
- the given password for the user to authenticate.peerCertificates
- for an SSL channel the certificates from remote peer.SecurityException
- if the user cannot be authenticated.Copyright © 2005–2019 The Apache Software Foundation. All rights reserved.