2017-10-04 73 views
0

我有一个Geode系统与定位器,服务器,2本地本机客户端,远程客户端和HTTPS REST客户端。Geode身份验证产生服务器拒绝握手

我们现在需要进一步验证REST客户端以在REST操作中包含用户名和密码检查,这意味着要设置验证herehere。我们设置了security.json,并且ExampleSecurityManager正确处理了经过验证的REST HTTPS请求。

设置身份验证意味着使用TCP的本地和远程本地客户端也需要身份验证。所以我在本地实施了AuthInitialize example,并让这些客户端连接到服务器,并且它们也运行良好。

然而,有一个问题,几分钟后客户端(包括本地和远程)丢失其连接到的Geode服务器与(客户端)错误:

Handshake rejected by server[#.#.#.#:40404]: A previous connection attempt from this client is still being processed: identity(0.0.0.0(MyGeodeClient:3116:loner)

我设置的服务器日志以最优秀的,并得到了警告,:

[finest BST GeodeServer <ServerConnection on port 40404 Thread 24> tid=0xa4] Server connection from [identity(0.0.0.0(MyGeodeClient:3116:loner):2:GFNative_k350A9imTd3116:MyGeodeClient,connection=1; port=57098] received USER_CREDENTIAL_MESSAGE with txid -1

ClientHealthMonitor: Received ping from client with member id identity(0.0.0.0(MyGeodeClient:3116:loner):2:GFNative_k350A9imTd3116:MyGeodeClient,connection=1

后来很多attempting to get session; create = false; session is null = true; session has id = false

然后This org.apache.shiro.mgt.DefaultSecurityManager instance does not have a [org.apache.shiro.mgt.RememberMeManager] instance configured. RememberMe services will not be performed for account [test].

最后

A previous connection attempt from this client is still being processed: identity(0.0.0.0(MyGeodeClient:3116:loner):2:GFNative_k350A9imTd3116:MyGeodeClient,connection=1

[warning BST GeodeServer <Handshaker /#.#.#.#:40404 Thread 0> tid=0x53] CacheClientNotifier: Unsuccessfully registered client with identifier identity(0.0.0.0(MyGeodeClient:3116:loner):2:GFNative_k350A9imTd3116:MyGeodeClient,connection=1

基本上这种情况重演,然后订阅事件处理失败,因为他们不要收到事件通知。

如果我减少的Geode服务器日志信息,然后警告

Unsuccessfully registered client with identifier identity(0.0.0.0(MyGeodeClient:3116:loner):2:GFNative_k350A9imTd3116:MyGeodeClient,connection=1

重复无数次...

任何指针吗?有没有办法启用REST身份验证而不启用本地客户端TCP身份验证?谢谢

回答

1

对于你的最后一个问题:“是否有一种方法来启用REST身份验证,而不启用本地客户端身份验证”,答案是否定的。当您在群集中设置安全性时,它应该保护您的数据免受所有通信渠道的影响。如果我们允许您禁用一个,那么会让您的群集容易受到攻击。

只要你看到的错误信息,它看起来像shiro会话超时。你正在使用哪个版本的Geode?我们前段时间修复了会话超时问题。

+0

谢谢有没有办法设置Shiro“记住我”,然后会话不会超时? Geode的版本是1.2.0,所以我们可以升级到1.2.1,最后当我得到关于安全的观点时,网络外部的HTTPS休息客户端和网络内部的TCP本地客户端之间有一点区别。我们不知道所有的前者,但我们确实知道后者在网络中是安全的。我猜可以依靠网络安全吗?嗯 – rupweb

+1

如果它是1.2.0你正在使用,它应该已经有了这个修复,这不会是超时问题。还有其他一些事情正在发生。你用java客户端尝试过吗? – jliao

+1

它看起来像客户端已经在服务器中有一个活动的代理,并正在尝试创建一个新的。 – jliao