带有 LDAP 的 Alfresco,在 Alfresco intefrace 中更改用户的密码

Alfresco with LDAP, changing password of a user in Alfresco intefrace

我已成功将 ldap-ad 添加到 Alfresco。现在,当我在 AD 中创建用户时,它与 Alfresco 同步并且我得到了一个 Alfresco 用户。问题是,如果用户 Bob(已从 AD 同步)更改他的密码(在 Alfresco 界面中),密码将在哪个身份验证系统中更改,Alfresco 还是 AD?

如果密码会在 AD 中更改,那么我没有其他问题,但据我所知,只有一个方向同步,从 AD 到 Alfresco,因此 Alfresco 无法访问 AD 密码并更改它们.这是否意味着 Alfresco 将为 Bob 创建一个密码并将其存储在自己的身份验证系统中,现在 Bob 可以使用 alfresco 和 AD 密码(新旧密码)登录?最重要的问题是:如何避免这种情况?提前致谢。

如果您使用 LDAP 进行身份验证,则密码永远不会存储在 Alfresco 中。密码将存储在 LDAP 中,并将通过电子邮件或用户名与 Alfresco 链接。

Alfresco 使用身份验证链概念。这意味着您可以为身份验证配置多个系统,并且如果用户尝试通过配置的链对 Alfresco 进行身份验证,并在一个系统之后尝试另一个系统,直到用户已成功通过身份验证,或者如果身份验证在最后一个链成员上失败身份验证尝试被假定为失败。

Alfresco 带来了它自己的身份验证子系统,可以使用密码在本地创建用户并将其存储在 repo 数据库中。本地创建的用户(如 admin)存储在本地子系统 alfrescoNtlm 中,您可以在 user://alfrescoUserStore/ 商店的节点浏览器中找到它。该商店仅用于内部用户的身份验证。

您在 Alfresco UI 中看到和管理的“用户”类型 cm:person 存储在主存储 workspace://SpacesStore(/sys:system/sys:people/ ) 但根本不包含任何密码。

ldap 同步仅在 /sys:system/sys:people/ 下的 workspace://SpacesStore 中创建用户,并且一旦用户尝试登录 Alfresco 就会穿过 authentication.chain,这在生产中可能看起来像: kerberos1:kerberos,ldap-ad2:ldap-ad,alfrescoNtlm1:alfrescoNtlm.

如果在本地 alfrescoUserStore 中找到用户,Alfresco Share 仅向用户提供“更改密码”对话框。 Alfresco 从不更改任何其他系统中的密码。

测试您是否理解了所有内容:如果用户 max 存在于 AD 和本地 alfrescoUserStore 中并在 Alfresco UI 中更改其密码,会发生什么情况? ;-)