Package org.openremote.manager.mqtt
Class ActiveMQORSecurityManager
java.lang.Object
org.apache.activemq.artemis.spi.core.security.ActiveMQJAASSecurityManager
org.openremote.manager.mqtt.ActiveMQORSecurityManager
- All Implemented Interfaces:
org.apache.activemq.artemis.spi.core.security.ActiveMQSecurityManager,org.apache.activemq.artemis.spi.core.security.ActiveMQSecurityManager5
public class ActiveMQORSecurityManager
extends org.apache.activemq.artemis.spi.core.security.ActiveMQJAASSecurityManager
A security manager that uses the
MultiTenantJaasCallbackHandler with a
dynamic KeycloakDeployment resolver.
Unfortunately lots of private methods and fields in super class.-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected AuthorisationServiceprotected MQTTBrokerServiceprotected org.apache.activemq.artemis.core.config.impl.SecurityConfigurationprotected Stringprotected org.apache.activemq.artemis.core.config.impl.SecurityConfigurationprotected Stringprotected org.apache.activemq.artemis.core.server.ActiveMQServer -
Constructor Summary
ConstructorsConstructorDescriptionActiveMQORSecurityManager(AuthorisationService authorisationService, MQTTBrokerService brokerService, Function<String, org.keycloak.adapters.KeycloakDeployment> deploymentResolver, String configurationName, org.apache.activemq.artemis.core.config.impl.SecurityConfiguration configuration) -
Method Summary
Modifier and TypeMethodDescriptionauthenticate(String user, String password, org.apache.activemq.artemis.spi.core.protocol.RemotingConnection remotingConnection, String securityDomain) booleanauthorize(Subject subject, Set<org.apache.activemq.artemis.core.security.Role> roles, org.apache.activemq.artemis.core.security.CheckType checkType, String address) protected SubjectgetAuthenticatedSubject(String user, String password, org.apache.activemq.artemis.spi.core.protocol.RemotingConnection remotingConnection, String securityDomain) protected booleanverifyRights(Subject subject, String address, boolean isWrite) Methods inherited from class org.apache.activemq.artemis.spi.core.security.ActiveMQJAASSecurityManager
getCertificateConfiguration, getConfiguration, getDomain, getRolePrincipalClass, getUserFromSubject, getUserPrincipalClass, setCertificateConfiguration, setCertificateConfigurationName, setConfiguration, setConfigurationName, setRolePrincipalClass, setUserPrincipalClass, validateUser, validateUserAndRoleMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apache.activemq.artemis.spi.core.security.ActiveMQSecurityManager
init
-
Field Details
-
authorisationService
-
brokerService
-
deploymentResolver
-
certificateConfigName
-
configName
-
config
protected org.apache.activemq.artemis.core.config.impl.SecurityConfiguration config -
certificateConfig
protected org.apache.activemq.artemis.core.config.impl.SecurityConfiguration certificateConfig -
server
protected org.apache.activemq.artemis.core.server.ActiveMQServer server
-
-
Constructor Details
-
ActiveMQORSecurityManager
public ActiveMQORSecurityManager(AuthorisationService authorisationService, MQTTBrokerService brokerService, Function<String, org.keycloak.adapters.KeycloakDeployment> deploymentResolver, String configurationName, org.apache.activemq.artemis.core.config.impl.SecurityConfiguration configuration)
-
-
Method Details
-
authenticate
public Subject authenticate(String user, String password, org.apache.activemq.artemis.spi.core.protocol.RemotingConnection remotingConnection, String securityDomain) - Specified by:
authenticatein interfaceorg.apache.activemq.artemis.spi.core.security.ActiveMQSecurityManager5- Overrides:
authenticatein classorg.apache.activemq.artemis.spi.core.security.ActiveMQJAASSecurityManager
-
getAuthenticatedSubject
protected Subject getAuthenticatedSubject(String user, String password, org.apache.activemq.artemis.spi.core.protocol.RemotingConnection remotingConnection, String securityDomain) throws LoginException - Throws:
LoginException
-
authorize
public boolean authorize(Subject subject, Set<org.apache.activemq.artemis.core.security.Role> roles, org.apache.activemq.artemis.core.security.CheckType checkType, String address) - Specified by:
authorizein interfaceorg.apache.activemq.artemis.spi.core.security.ActiveMQSecurityManager5- Overrides:
authorizein classorg.apache.activemq.artemis.spi.core.security.ActiveMQJAASSecurityManager
-
verifyRights
-