|
|
@@ -109,7 +109,6 @@ public class JMXSyncService {
|
|
|
ObjectName addressObjectName = ObjectNameBuilder.create("org.apache.activemq.artemis", mqttInfo.getBrokerName()).getActiveMQServerObjectName();
|
|
|
ActiveMQServerControl addressControl = MBeanServerInvocationHandler.newProxyInstance(connection, addressObjectName, ActiveMQServerControl.class, false);
|
|
|
|
|
|
- String adminRole = MqttConfig.adminRoleName;
|
|
|
for (GateWayUserInfo gateWayUserInfo : gateWayUserInfoList) {
|
|
|
Mqtt2User mqtt2User = mqtt2UserDao.findTopByMqttInfoAndGateWayUserInfo(mqttInfo, gateWayUserInfo);
|
|
|
if (ObjectUtils.isEmpty(mqtt2User)) {
|
|
|
@@ -136,10 +135,7 @@ public class JMXSyncService {
|
|
|
if (ObjectUtils.isNotEmpty(security)) {
|
|
|
List<String> securites = security.stream().distinct().collect(Collectors.toList());
|
|
|
String roleName = gateWayUserInfo.getRoleName();
|
|
|
- List<String> roles = new ArrayList<>();
|
|
|
- roles.add(roleName);
|
|
|
- roles.add(adminRole);
|
|
|
- roleName = String.join(",", roles);
|
|
|
+ roleName = JMXUtil.buildSecurityRoleName(roleName);
|
|
|
for (String addressMatch : securites) {
|
|
|
addressControl.addSecuritySettings(addressMatch, roleName, roleName, roleName, roleName, roleName, roleName, roleName, roleName, roleName, roleName);
|
|
|
}
|
|
|
@@ -447,7 +443,6 @@ public class JMXSyncService {
|
|
|
ObjectName addressObjectName = ObjectNameBuilder.create("org.apache.activemq.artemis", mqttInfo.getBrokerName()).getActiveMQServerObjectName();
|
|
|
ActiveMQServerControl addressControl = MBeanServerInvocationHandler.newProxyInstance(connection, addressObjectName, ActiveMQServerControl.class, false);
|
|
|
|
|
|
- final String _roleName = MqttConfig.adminRoleName;
|
|
|
for (DeviceInfo deviceInfo : deviceInfos) {
|
|
|
GateWayUserInfo gateWayUserInfo = gateWayUserInfoDao.findTopByUserName(deviceInfo.getMqttUserName());
|
|
|
if (ObjectUtils.isEmpty(gateWayUserInfo)) {
|
|
|
@@ -456,12 +451,7 @@ public class JMXSyncService {
|
|
|
List<String> addressMatchs = JMXUtil.buildDeviceAddressMatch(deviceInfo);
|
|
|
if (ObjectUtils.isNotEmpty(addressMatchs)) {
|
|
|
String roleName = gateWayUserInfo.getRoleName();
|
|
|
-
|
|
|
- List<String> roleNames = new ArrayList<>();
|
|
|
- roleNames.add(roleName);
|
|
|
- roleNames.add(_roleName);
|
|
|
-
|
|
|
- roleName = String.join(",", roleNames);
|
|
|
+ roleName = JMXUtil.buildSecurityRoleName(roleName);
|
|
|
for (String addressMatch : addressMatchs) {
|
|
|
try {
|
|
|
addressControl.addSecuritySettings(addressMatch, roleName, roleName, roleName, roleName, roleName, roleName, roleName, roleName, roleName, roleName);
|