我需要修改Share身份验证机制。当用户尝试从共享页面登录时,我需要添加一个检查,检查用户的租户域和网址的前缀。如果用户名的租户地址与网址的前缀匹配,则允许用户登录,否则将拒绝身份验证。
例如:
用户从mydomain.alfresco.com/share登录为username@mydomain.com
在上述情况下,用户可以登录,因为... @ mydomain.com与网址前缀mydomain.alfresco.com/share匹配。
我不知道从哪里开始,并希望有任何帮助来实现这一目标。
答案 0 :(得分:1)
我会实现它覆盖loginController
Spring bean。复制org.springframework.extensions.surf.mvc.LoginController.java
并将您的自定义逻辑添加到handleRequestInternal
。 request.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>