使用 LDAP 的 Alfresco,在 Alfresco 接口中更改用户的密码

Posted

技术标签:

【中文标题】使用 LDAP 的 Alfresco,在 Alfresco 接口中更改用户的密码【英文标题】:Alfresco with LDAP, changing password of a user in Alfresco intefrace 【发布时间】:2021-03-19 09:54:51 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

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

Alfresco 带来了它自己的身份验证子系统,可以使用密码在 repo db 中本地创建和存储用户。本地创建的用户(如 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 中更改其密码,会发生什么情况? ;-)

【讨论】:

这个用户会有2个密码? :) 或多或少是的:用户max 将能够使用广告或本地密码登录。【参考方案2】:

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

【讨论】:

以上是关于使用 LDAP 的 Alfresco,在 Alfresco 接口中更改用户的密码的主要内容,如果未能解决你的问题,请参考以下文章

使用 Kerberos SSO 访问同一个 Alfresco 实例的 2 个不同 URL

Java社交网络引擎(框架/平台)列表[关闭]

activiti-ldap-integration

无法在 Alfresco 中禁用创建站点权限

使用 CMIS 在 Alfresco 文档中使用 addToFolder 和 removeFromFolder

Alfresco 和 drupal 集成