У нас есть некоторый код, который выполняется:
JMXConnectorFactory.connect(domainServiceURL, hashTable);
«hashtable» включает в себя следующее содержимое (и 3 значения времени ожидания, исключенные здесь):
Hashtable<String, Object> hashTable = new Hashtable<String, Object>();
hashTable.put(WLContext.SECURITY_PRINCIPAL, username);
hashTable.put(WLContext.SECURITY_CREDENTIALS, password);
hashTable.put(WLContext.SECURITY_PROTOCOL, "ssl");
hashTable.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES,
"weblogic.management.remote");
Где имя пользователя, давайтескажем, "ADMIN_USER".
При многих обстоятельствах этот код работает.Однако после выполнения определенного пути к коду (слишком много для вставки) он выдает следующее исключение:
java.io.IOException: User USER2/GROUP1/GROUP2/ROLE1/ROLE2 does not have access to the administrator port.
at weblogic.management.remote.common.ClientProviderBase.makeConnection(ClientProviderBase.java:244)
at weblogic.management.remote.common.ClientProviderBase.newJMXConnector(ClientProviderBase.java:120)
at javax.management.remote.JMXConnectorFactory.newJMXConnector(JMXConnectorFactory.java:369)
at javax.management.remote.JMXConnectorFactory.connect(JMXConnectorFactory.java:267)
...
Обратите внимание, я подтвердил с помощью операторов журнала, что в обоих случаях мы все еще передаем ADMIN_USER вметод подключения.Но вместо этого исключение относится к USER2.
Мне дали совет, что некоторые свойства системы могут быть выбраны кодом Weblogic и изменить его работу, но я также сравнил System.getenv()
как во время работы, так и когдаэто не так и не нашел никаких отличий.Также обратите внимание, что USER2 находится в файле ssl.properties хранилища ключей, но я не вижу никакой устанавливаемой переменной SSL, которая бы использовала метод подключения, который используется в одном случае, но не в другом.
Я такжепопытался использовать JMXConnector.CREDENTIALS
вместо 2 свойств, указанных выше, и без изменений.
Кажется, что-то переопределяет (или добавляет) учетные данные, предоставляемые методу подключения.Но, как я уже говорил, путь к коду, который делает это, довольно обширный, поэтому, возможно, кто-то знает, что именно может переопределить учетные данные для входа в систему?