Single sign on OpenAM策略评估速度慢,用户数为100

Single sign on OpenAM策略评估速度慢,用户数为100,single-sign-on,openam,Single Sign On,Openam,我在最新的Tomcat(7.0.62)后面部署了最新的OpenAM企业版(12.0.0)。我还为用户和数据存储使用了最新的OpenDJ(2.6.0)。我遵循了OpenAM安装指南中提到的确切步骤。以下是根据生产需要设置的JVM选项: -Xmx2048m-XX:MaxPermSize=256m-XX:PermSize=256m-verbose:gc-server 以下是域的设置: /(根域)->http://sso-admin.domain.com/openam 此数据存储是默认的SunDS数据存

我在最新的Tomcat(7.0.62)后面部署了最新的OpenAM企业版(12.0.0)。我还为用户和数据存储使用了最新的OpenDJ(2.6.0)。我遵循了OpenAM安装指南中提到的确切步骤。以下是根据生产需要设置的JVM选项:

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

以下是域的设置:

/(根域)->http://sso-admin.domain.com/openam
此数据存储是默认的SunDS数据存储,仅使用amadmin登录并进行管理配置。从这里可以访问所有子领域

/Internal(根域的子域)->http://sso.domain.com/openam
这是我们的组织用来登录的。此数据存储是我们的Active Directory。所有代理和策略都在此处配置

现在问题存在于
内部
领域。我有一个Apache应用程序正在运行,为此我必须提供身份验证和授权(基于策略)。我已经使用通配符创建了策略,并为大约250个用户定义了主题条件。代理已安装并运行良好。当用户打开应用程序的链接时,
http://myapp.domain.com
,它们将被重定向到
http://sso.domain.com/openam
他们可以使用其广告凭证登录的页面。但策略评估大约需要2-3分钟,之后用户将被重定向到应用程序

我甚至测试,检查,只添加了2个用户的主体条件,而不是那250个,它立即工作。我立即被重定向到应用程序

为什么政策评估会出现这种延迟?我怎样才能解决这个问题?我原以为OpenAM可以处理1000多个用户,但在250多个用户中,这要花很多时间


感谢您的帮助

你能更深入地解释一下你的政策是什么样的吗?您是否有单独的策略,每个策略有250个用户?另外,在测试评估时,您是在进行单个调用来表示单个用户会话还是同时进行多个调用

更新:是的,我可能会建议不要有250个主体条件;这听起来很贵。我会考虑使用一个组来代表这些用户。假设您已经使用或加入了所有主题条件,那么逻辑将得到优化,这样一旦一个条件成功,就无需评估其余条件。但是,如果有效主题是列表中的最后一个,则需要大量处理

现在,策略引擎对资源进行索引,但我们计划在此基础上进行扩展,这也将包括主题索引。因此,如果组不适合您,那么您最好将其建模为250个策略,每个策略具有一个主题条件(或者更简单的规则)。因此,当特定用户访问特定资源的请求传入时,策略引擎将本地感兴趣的策略,而不必评估所有其他策略


Andy

您确定实际上是策略评估需要2-3分钟,而不是一些身份验证后处理吗?调试日志应该会告诉您,好吧,请逐一回答这两个问题。AndyF:已经创建了如下策略:应用程序-MyApp,策略名称-MyApp-General-Access,URL-,主题-250个用户,方法:GET,POST。其中只有一个应用程序和一个策略,有250个用户。只需与250个用户中的一个通话@WarrenStrange:这是政策评估。如果我删除250个用户,只留下一个,那么从sso到myapp的重定向是即时的。将其余的249添加回,会导致重定向需要2-3分钟。此外,sso上的直接登录是即时的,因此身份验证没有延迟。重定向到openam通常意味着正在进行身份验证,而不是授权(策略评估)。一旦用户通过身份验证(即使在2-3分钟之后),对同一资源的后续请求是否会很快?如果是,这不是策略评估问题,而是与身份验证有关。@PeterMajor是的,我们手动将用户添加到subject条件中。添加这250个用户是一次性的工作,但我们也会逐渐将用户添加到此列表中。截至今天,此列表中有270个用户,政策评估占用了太多时间。