我需要修改共享身份验证机制。当用户尝试从共享页面登录时,我需要添加一项检查,以检查用户的租户域以及网址前缀。如果用户名的租户地址与网址前缀匹配,则允许用户登录,否则身份验证将被拒绝。
例如:
用户从 mydomain.alfresco.com/share 以 username@mydomain.com 身份登录
在上述情况下,将允许用户登录,因为 ...@mydomain.com 与网址前缀 mydomain.alfresco.com/share 匹配。
我不知道从哪里开始,希望能得到任何帮助来完成此任务。
最佳答案
我会覆盖 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>
关于java - 露天共享认证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16699885/