1

我们在用户的 JCR 中遇到了臭名昭著的 1000+ 子节点问题,我们正在尝试提供一种解决方案,而无需转向 SSO 或 LDAP 解决方案,因为客户没有此类解决方案的预算。

鉴于 BTreeManager 可用的文档很少,我想知道是否有一种方法可以使用UserManager 实现 BTreeManager 来处理帐户创建和登录,或者我们是否必须创建自己的 UserManager 类来使用 BTreeManager 实现来处理帐户创建?

4

1 回答 1

1

无论如何,我都不建议您实现自己的 UserManager,因为它完全超出了标记。UserManager 已经为您提供了使用现有中间路径的可能性,例如,可以通过一些自定义算法或 BTreeManager 创建。

我对这种方法有很好的经验,例如在大约 11 万用户(仍在增长)的 AEM 环境中。在这种情况下,我们使用用户名生成中间路径:

/home/users/project-prefix/[first-char][second-char]/[third-char][fourth-char]/[username]

如果您更喜欢利用 BTreeManager 来处理平衡的用户树,那么最好将您的自定义功能封装在自定义的“AccountCreationService”中,该自定义“AccountCreationService”使用 BTreeManager 为每个用户创建中间路径并将 Authorizable 的实际创建委托给 UserManager .

于 2015-02-16T15:36:40.527 回答