我正在使用Hashed Home Folder Provider:
https://issues.alfresco.com/jira/browse/ALF-4727
如果我正在与LDAP同步,它会很有用,但我不确定如何配置它以与外部用户一起使用。基本上,我已经改变了我的设置,以便通过过滤器进行身份验证(通过X-Remote-User标头返回用户名)。如果用户不存在,Alfresco会为他们创建一个帐户。但是,我不确定如何让Home Folder Provider在此设置中工作。对于LDAP设置,您可以在alfresco-global.properties文件中设置此属性:
ldap.synchronization.defaultHomeFolderProvider=hashedUserHomesHomeFolderProvider
根据:
http://wiki.alfresco.com/wiki/Security_and_Authentication#Creating_home_spaces_-_from_1.4_onwards
您可以设置:
home_folder_provider_synchronizer.enabled=true
home_folder_provider_synchronizer.override_provider=largeHomeFolderProvider
但这对我来说似乎不起作用(尽管我目前正在使用Alfresco v3.4.4)。无论如何让主文件夹提供程序为Alfresco v3.4.4的外部用户工作吗?
编辑:此问题涉及对Alfresco的自定义,可能需要进行代码调整。如果您不喜欢这个问题,我会很感激您对原因的反馈。
编辑#2:
阅读https://stackoverflow.com/a/9481704/256460后,我在webapps / alfresco / WEB-INF / lib下更新了authentication-services-context.xml:
<property name="defaultProvider">
<ref bean="hashedUserHomesHomeFolderProvider" />
</property>
但是当我尝试启动Alfresco时,我的catalina.out文件中出现以下错误:
2012-03-02 20:08:33,482错误[web.context.ContextLoader]上下文初始化失败org.springframework.beans.factory.BeanCreationException:在类路径资源中定义名称为'homeFolderManager'的bean时出错[alfresco / authentication-services-context.xml]:bean的初始化失败;嵌套异常是org.springframework.beans.ConversionNotSupportedException:无法将类型'org.alfresco.sample.UIDBasedHashingHomeFolderProvider'的属性值转换为属性'defaultProvider'所需的类型'org.alfresco.repo.security.person.HomeFolderProvider2';嵌套异常是java.lang.IllegalStateException:无法将类型[org.alfresco.sample.UIDBasedHashingHomeFolderProvider]的值转换为属性'defaultProvider'所需的类型[org.alfresco.repo.security.person.HomeFolderProvider2]:没有匹配的编辑器或转换战略发现
答案 0 :(得分:2)
散列主文件夹提供程序(ExistingPathBasedHomeFolderProvider
)的基类的Javadoc如下所示:
已过时。自4.0起贬值。 现在应该使用ExistingPathBasedHomeFolderProvider2。
我从V3.4.4企业资源中获取了该信息。在我看来,您可能需要移植自定义提供程序的代码才能使用v2 class hierarchy。