Alfresco共享身份验证

时间:2013-05-22 19:15:40

标签: java spring authentication alfresco surf

我需要修改Share身份验证机制。当用户尝试从共享页面登录时,我需要添加一个检查,检查用户的租户域和网址的前缀。如果用户名的租户地址与网址的前缀匹配,则允许用户登录,否则将拒绝身份验证。

例如:

用户从mydomain.alfresco.com/share登录为username@mydomain.com

在上述情况下,用户可以登录,因为... @ mydomain.com与网址前缀mydomain.alfresco.com/share匹配。

我不知道从哪里开始,并希望有任何帮助来实现这一目标。

1 个答案:

答案 0 :(得分:1)

我会实现它覆盖loginController Spring bean。复制org.springframework.extensions.surf.mvc.LoginController.java并将您的自定义逻辑添加到handleRequestInternalrequest.getParameter("username")request.getHeader("Host")应提供比较的值。

通过将bean定义放在类路径中的文件alfresco/web-extension/custom-context.xml中来覆盖默认实现的一种方法。

<bean id="loginController" class="CustomLoginController">
    <property name="cacheSeconds" value="-1" />
    <property name="useExpiresHeader"><value>true</value></property>
    <property name="useCacheControlHeader"><value>true</value></property>
    <property name="userFactory" ref="user.factory"></property>
    <property name="connectorService" ref="connector.service" />
</bean>