2015-06-22 28 views
0

我擁有部署在最新Tomcat(7.0.62)後面的最新企業版OpenAM(12.0.0)。我還爲用戶和數據存儲使用了最新的OpenDJ(2.6.0)。我遵循了OpenAM安裝指南中提到的確切步驟。以下是設置JVM選項,可根據生產需要:OpenAM策略評估緩慢,有數百位用戶

-Xmx2048m -XX:MaxPermSize=256m -XX:PermSize=256m -verbose:gc -server

以下爲三界的設置:

/ (Root Realm) -> http://sso-admin.domain.com/openam 的數據存儲這是默認的SunDS數據存儲只是使用的amadmin登錄並進行管理配置。從這裏可以訪問所有的子領域。

/Internal (Sub-Realm of the Root Realm) -> http://sso.domain.com/openam 這是我們的組織用於登錄。數據存儲這是我們的Active Directory。所有代理和策略都在此處配置。

現在問題存在於Internal領域。我有一個Apache應用程序正在運行,爲此我必須提供身份驗證和授權(基於策略)。我已經創建了使用通配符的策略,並定義了約250個用戶的Subject條件。代理安裝並運行完美。當用戶打開指向應用程序的鏈接http://myapp.domain.com時,他們將被重定向到http://sso.domain.com/openam頁面,在那裏他們可以使用他們的AD憑據登錄。但是政策評估大約需要2-3分鐘,之後用戶被重定向到應用程序。

我甚至測試,檢查,只增加2個用戶到主題條件,而不是那些250,它立即工作。我瞬間被重定向到應用程序。

爲什麼這種延遲發生在政策評估?我該如何解決這個問題?我認爲OpenAM可以處理1000個用戶,但在250多個用戶中,它花費了很多時間。

任何幫助表示讚賞!

回答

0

您能否更深入地解釋您的政策是什麼樣子的?你有沒有個人政策,每個政策有250個用戶?另外,當您測試評估時,您是否只打一個電話來表示單個用戶會話或多個同時呼叫?

更新:是的,我可能會建議不要有250個主題條件;這聽起來運行起來很昂貴。我會考慮使用一組來代表這些用戶。假設你已經使用OR來加入所有的主題條件,邏輯被優化,一旦成功,就不需要評估其餘的。但是,如果有效的主題是列表中的最後一個很多處理。

現在政策引擎對資源進行了索引,但我們正計劃在此基礎上進行構建,其中還包括主題索引。因此,如果團體不適合你,那麼你最好將其設置爲250個政策,每個政策都有一個主題條件(或者更簡單的規則)。因此,當特定用戶訪問特定資源時,策略引擎將本地化感興趣的策略,而無需評估所有其他策略。

Andy

+0

您確定實際上策略評估是花2-3分鐘,而不是一些後驗證處理?調試日誌應該告訴你, –

+0

好吧,一個一個地回答你的問題。 AndyF:策略已創建,如下所示:Application - MyApp,Policy Name - MyApp General Access,URL - http://myapp.mydomain.com/index.php,主題 - 250個用戶,方法:GET,POST。只有1個應用程序和1個政策與250個用戶。與250個用戶中的一個進行一次通話。 @WarrenStrange:它的政策評估。如果我刪除了250個用戶並只留下一個,那麼從sso到myapp的重定向是即時的。將其餘的249加回,導致重定向花費2-3分鐘。此外,在sso上直接登錄是即時的,所以不會延遲身份驗證。 –

+0

重定向到openam通常意味着身份驗證正在進行,而不是授權(策略評估)。一旦用戶已經認證(即使在2-3分鐘後),是否對後續的相同資源的請求更快?如果是這樣 - 這不是一個政策評估問題 - 這與認證有關。 –