JDG в OpenShift Online - HotRodClientException, несмотря на надлежащие разрешения, назначенные ролям - PullRequest
0 голосов
/ 25 мая 2018

Я развернул JDG в OpenShift Online со следующим: поток изображений "jboss-datagrid71-openshift-rhel7.json" v1.2 - имя пользователя 'admin' с ролью 'admin' и '___schema_manager' - и с учетом разрешений READ, ЗАПИСЬ, EXEC, ADMIN, ВСЕ для обеих ролей.Пробовал только с "ВСЕ" тоже.- См. Изображения, Config-env-vars.png и Cache-env-vars.png в Info.zip для выполненных конфигураций среды .(Доступно @ https://drive.google.com/file/d/12EWF1AUB4d60mP_gmTkN4Qlh2pzzv6xi/view?usp=sharing)

При развертывании клиентского Java-приложения (в основном Hotrod с включенной защитой и с функцией запросов на основе Protobuf) мы получаем следующее исключение. Прикрепленные журналы с сервера DataGridи клиентские приложения

Caused by: org.infinispan.client.hotrod.exceptions.HotRodClientException: java.lang.SecurityException: ISPN000287: Unauthorized access: subject 'Subject with principal(s): [SimpleUserPrincipal [name=admin], InetAddressPrincipal [address=10.131.14.124/10.131.14.124], admin@ApplicationRealm, admin@ApplicationRealm, ___schema_manager@ApplicationRealm, admin, ___schema_manager]' lacks 'WRITE' permission

К вашему сведению,

Я использую следующую версию Infinispan из хранилища redhat

<version.org.infinispan>8.4.2.Final-redhat-1</version.org.infinispan>

На Java при создании конфигурацииBuilder, я так и сделал. Полный код доступен @ https://github.com/techtantric/JDG-Remote-Hotrod-Secured

ConfigurationBuilder builder = new ConfigurationBuilder();
          builder.addServer()
                .host(host)
                .port(hotrodPort).security().authentication().serverName("jdg-server").saslMechanism("DIGEST-MD5").callbackHandler(new LoginHandler("admin", "password".toCharArray(), "ApplicationRealm")).enable()
                .marshaller(new ProtoStreamMarshaller());  // The Protobuf based marshaller is required for query capabilities
          cacheManager = new RemoteCacheManager(builder.build());

Пожалуйста, помогите нам решить эту проблему. Заранее спасибо.

1 Ответ

0 голосов
/ 28 мая 2018

Вы не должны касаться роли ___schema_manager.

...