我有一个Geode系统与定位器,服务器,2本地本机客户端,远程客户端和HTTPS REST客户端。Geode身份验证产生服务器拒绝握手
我们现在需要进一步验证REST客户端以在REST操作中包含用户名和密码检查,这意味着要设置验证here和here。我们设置了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身份验证?谢谢
谢谢有没有办法设置Shiro“记住我”,然后会话不会超时? Geode的版本是1.2.0,所以我们可以升级到1.2.1,最后当我得到关于安全的观点时,网络外部的HTTPS休息客户端和网络内部的TCP本地客户端之间有一点区别。我们不知道所有的前者,但我们确实知道后者在网络中是安全的。我猜可以依靠网络安全吗?嗯 – rupweb
如果它是1.2.0你正在使用,它应该已经有了这个修复,这不会是超时问题。还有其他一些事情正在发生。你用java客户端尝试过吗? – jliao
它看起来像客户端已经在服务器中有一个活动的代理,并正在尝试创建一个新的。 – jliao