我使用以下内容在OpenShift Online上部署了JDG - 图像流" jboss-datagrid71-openshift-rhel7.json" V1.2 - 用户名' admin'角色' admin'和' ___ schema_manager' - 并为两个角色授予READ,WRITE,EXEC,ADMIN,ALL权限。仅仅尝试了所有'也。 - 在Info.zip中引用图像,Config-env-vars.png和Cache-env-vars.png以完成环境配置。 (可用@ 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
FYI,
我使用以下版本的Infinispan来自redhat存储库
<version.org.infinispan>8.4.2.Final-redhat-1</version.org.infinispan>
在Java中,在创建配置构建器时,我这样做了。完整代码可在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());
请帮助我们解决此问题。提前谢谢。
答案 0 :(得分:0)
你不应该触及___schema_manager角色。似乎SO不接受你的依恋。你能通过其他方式分享吗?