如何将用户属性(如名字、姓氏和电子邮件)从 keycloak 导入到 alfresco-content-service?

问题描述 投票:0回答:1

从外部 IDp 登录后,用户属性反映在 keycloak 中,但在 alfresco 中仅导入主体属性,有没有办法直接从 keycloak 导入这些属性,如名字、姓氏和电子邮件到 alfresco,而不使用 ldap ?

share-config-custom.xml 或 alfresco-global.properties 中需要提及的任何特定属性吗?

azure-active-directory keycloak alfresco-share alfresco-enterprise
1个回答
0
投票

我有 Alfresco Community 的工作解决方案,而不是 Enterprise,所以可以有一些更简单的解决方案。 在 Alfresco Community 中,您可以直接在

alfresco-global.properties
中配置以下属性:

ldap.synchronization.userFirstNameAttributeName=givenName
ldap.synchronization.userLastNameAttributeName=sn
ldap.synchronization.userEmailAttributeName=mail
ldap.synchronization.userOrganizationAttributeName=department

=
之后的值取自AD。 如果您想要更多属性,您需要覆盖
common-ldap-context.xml
。 默认情况下是这个文件: https://github.com/AlfrescoArchive/alfresco-repository/blob/master/src/main/resources/alfresco/subsystems/Authentication/common-ldap-context.xml

曾经

<bean id="userRegistry" class="org.alfresco.repo.security.sync.ldap.LDAPUserRegistry">
and tag <property name="personAttributeMapping">

您可以定义自己的属性,如下所示:

<entry key="cm:telephone">
     <value>${ldap.synchronization.userTelephoneAttributeName}</value>
<entry>

输入密钥取自 cm:person 的属性。值是您将在

alfresco-global.properties
中使用的字符串。 您需要将文件
common-ldap-context.xml
放入露天服务器(或容器)上的路径
tomcat/shared/classes/alfresco/extension/subsystems/Authentication/ldap-ad/ldap1
。 如果此路径(在类之后)不存在,请创建它。然后添加到
alfresco-global.properties
行,如下所示:

ldap.synchronization.userTelephoneAttributeName=telephoneNumber

重新启动 Alfresco,即可同步电话号码。

© www.soinside.com 2019 - 2024. All rights reserved.