我正在研究大型企业AEM项目的登录时间缓慢和一些配置文件同步问题。该系统拥有约150万用户。该网站由10个发布者提供服务。
该项目的构建方式是,他们为所有这些最终用户启用了SAML_login,并且我假设有一个第三方IDP,我认为SAML_login与之通信。我不是SSO的专家-SAML_login流程,所以我试图了解这是否是第一步的正确方法。
由于此设置和用户数量,SAML_login调用平均需要15秒。随着用户数量的增加,这种情况一天天变得令人无法接受。更重要的是,这10个发布者之间的同步有时会失败,因此某些用户有时无法按预期使用该系统。
由于用户存储在SCR_login的JCR中,因此您甚至无法从crx浏览器中检查home / users文件夹。由于无法一次显示150万行,因此超时。我的有根据的猜测是,这就是SAML_login调用花费这么长时间的原因。
我遇到了articles,它告诉您如何在AEM上设置SAML_login,这对于在这种情况下使用它是合法的。但是我认为这是有史以来最糟糕的设置,因为对于这种使用场景,JCR并不是设计合理的快速访问数据存储。
到目前为止,我的理解是,这种方法可能很好用,但仅适用于有限数量的用户,但是对于这么多的用户,这是不适用的解决方案。所以我的第一个问题是:我说的对吗? :)
如果我做错了,那肯定是我尚不了解的某个瓶颈,这个瓶颈有待改善吗?
AEM SAML身份验证处理程序在默认配置下有一些性能限制。当您的浏览器在/ saml_login下向AEM发出HTTP POST请求时,它包含以64为基数编码的“ SAMLResponse”请求参数。 AEM直接处理该响应,并且不与任何外部系统联系。
尽管SAML响应是在AEM本身上处理的,但/ saml_login调用的瓶颈如下: