我有一個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