在配置 Alfresco LDAP 集成时提供自定义命名空间
provide custom namespace while configuring Alfresco LDAP integration
我安装了带有 ldap-ad users/group 同步的 Alfresco Community 5.2,一切正常。
现在我必须添加具有某些属性的方面,让 ldap 处理它们,将它们添加到 cm:person。
所以我按照建议 here 自定义了 common-ldap-context.xml
,但我只是设法覆盖原始的 Alfresco 内容模型,使用 cm: 前缀作为 aspect/property 命名空间。
如果我使用我的个人模型前缀,每当我启动 Alfresco 时,我都会收到来自 spring 加载 common-ldap-context.xml 文件的“未知命名空间”错误。
如何将我的命名空间导入该文件?有没有可能我必须使用 cm: 前缀?
这是我的 common-ldap-context.xml 片段
<property name="personAttributeMapping">
<map>
<!-- ... -->
<entry key="myc:prop1">
<value>${ldap.synchronization.prop1</value>
</entry>
<entry key="myc:prop2">
<value>${ldap.synchronization.prop2</value>
</entry>
<entry key="myc:prop3">
<value>${ldap.synchronization.prop3</value>
</entry>
<entry key="myc:prop4">
<value>${ldap.synchronization.prop4</value>
</entry>
<!-- ... -->
</map>
</property>
common-ldap-context.xml 中的 personAttributeMapping 位于路径 Alfresco/tomcat/shared/classes/alfresco/extension/Authentication/ldap-context.xml
中。自定义文档模型在 bean 组件中定义,从 bootstrap.context.xml
加载
谢谢。
我定义了所需的 bean 提示 depends-on="..."
(当然是使用你的 bean 名称加载模型)。
所以我的 custom-ldap-context.xml
in extension/subsystems/Authentication/ldap-ad/ldap-ad1
(文件夹取决于您配置的子系统)看起来像:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<!--
Bean definitions shared by the ldap and ldap-ad subsystems
-->
<beans>
<!-- Regularly exports user and group information from LDAP -->
<bean id="ecm4u.personDetails.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
<property name="models">
<list>
<value>alfresco/extension/personDetails.xml</value>
</list>
</property>
</bean>
<bean id="userRegistry" class="org.alfresco.repo.security.sync.ldap.LDAPUserRegistry" depends-on="ecm4u.personDetails.dictionaryBootstrap">
<!-- snap -->
<property name="personAttributeMapping">
<map>
<!-- snap -->
<!-- BEGIN New properties -->
<entry key="pd:employeeNumber">
<value>${ldap.synchronization.userEmployeeNumberAttributeName}</value>
</entry>
<!-- END New properties -->
<!-- snap -->
我安装了带有 ldap-ad users/group 同步的 Alfresco Community 5.2,一切正常。
现在我必须添加具有某些属性的方面,让 ldap 处理它们,将它们添加到 cm:person。
所以我按照建议 here 自定义了 common-ldap-context.xml
,但我只是设法覆盖原始的 Alfresco 内容模型,使用 cm: 前缀作为 aspect/property 命名空间。
如果我使用我的个人模型前缀,每当我启动 Alfresco 时,我都会收到来自 spring 加载 common-ldap-context.xml 文件的“未知命名空间”错误。
如何将我的命名空间导入该文件?有没有可能我必须使用 cm: 前缀?
这是我的 common-ldap-context.xml 片段
<property name="personAttributeMapping">
<map>
<!-- ... -->
<entry key="myc:prop1">
<value>${ldap.synchronization.prop1</value>
</entry>
<entry key="myc:prop2">
<value>${ldap.synchronization.prop2</value>
</entry>
<entry key="myc:prop3">
<value>${ldap.synchronization.prop3</value>
</entry>
<entry key="myc:prop4">
<value>${ldap.synchronization.prop4</value>
</entry>
<!-- ... -->
</map>
</property>
common-ldap-context.xml 中的 personAttributeMapping 位于路径 Alfresco/tomcat/shared/classes/alfresco/extension/Authentication/ldap-context.xml
中。自定义文档模型在 bean 组件中定义,从 bootstrap.context.xml
谢谢。
我定义了所需的 bean 提示 depends-on="..."
(当然是使用你的 bean 名称加载模型)。
所以我的 custom-ldap-context.xml
in extension/subsystems/Authentication/ldap-ad/ldap-ad1
(文件夹取决于您配置的子系统)看起来像:
<?xml version='1.0' encoding='UTF-8'?>
<!DOCTYPE beans PUBLIC '-//SPRING//DTD BEAN//EN' 'http://www.springframework.org/dtd/spring-beans.dtd'>
<!--
Bean definitions shared by the ldap and ldap-ad subsystems
-->
<beans>
<!-- Regularly exports user and group information from LDAP -->
<bean id="ecm4u.personDetails.dictionaryBootstrap" parent="dictionaryModelBootstrap" depends-on="dictionaryBootstrap">
<property name="models">
<list>
<value>alfresco/extension/personDetails.xml</value>
</list>
</property>
</bean>
<bean id="userRegistry" class="org.alfresco.repo.security.sync.ldap.LDAPUserRegistry" depends-on="ecm4u.personDetails.dictionaryBootstrap">
<!-- snap -->
<property name="personAttributeMapping">
<map>
<!-- snap -->
<!-- BEGIN New properties -->
<entry key="pd:employeeNumber">
<value>${ldap.synchronization.userEmployeeNumberAttributeName}</value>
</entry>
<!-- END New properties -->
<!-- snap -->