2

我按照教程扩展了 Share 中的 cm:person 对象。本质上,这涉及到对 userprofile webscript、UserFactory 类扩展和引用此类的 bean 的一些更改。

由于进行了这些更改,SSO 不再起作用。到目前为止,我们已经使用 AD 凭据中的 NTLM SSO,效果很好。到目前为止,SSO 仍然适用于 /alfresco 和 cifs,但用户不再自动登录 /share。用户可以输入其 AD 详细信息以手动登录。

使这难以解决的问题是 - 我无法在日志中获取任何详细信息。在我添加的 log4j 属性文件中:

log4j.logger.org.alfresco.smb.protocol.auth=debug
log4j.logger.org.alfresco.acegi=debug
log4j.logger.org.alfresco.passthru.auth=debug

当我在 CIFS 共享中打开一个文件夹时,我看到:

13:01:17,410 DEBUG [org.alfresco.smb.protocol.auth] Mapped client /192.168.1.114 to domain null
13:01:17,631 DEBUG [org.alfresco.smb.protocol.auth] Passthru sessId=10, auth ctx=[NTLM,Challenge=f93fbe68854cf0b8]
13:01:17,631 DEBUG [org.alfresco.smb.protocol.auth] Using Write transaction
13:01:17,636 DEBUG [org.alfresco.smb.protocol.auth] Setting current user using person alfresco.admin (username ChrisO)
13:01:17,636 DEBUG [org.alfresco.smb.protocol.auth] Passthru authenticate user=alfresco.admin, FULL
13:01:17,637 DEBUG [org.alfresco.smb.protocol.auth] Using Write transaction
13:01:17,640 DEBUG [org.alfresco.smb.protocol.auth] Closed auth session, sessId=10

当我导航到 /alfresco 时,我看到:

13:04:06,347 DEBUG [org.alfresco.passthru.auth] Authenticate org.alfresco.repo.security.authentication.ntlm.NTLMPassthruToken@4374c52a: Username: null; Password: [PROTECTED]; Authenticated: false; Details: null; Not granted any authorities via token
13:04:06,556 DEBUG [org.alfresco.passthru.auth] Passthru stage 1 token org.alfresco.repo.security.authentication.ntlm.NTLMPassthruToken@4374c52a: Username: null; Password: [PROTECTED]; Authenticated: false; Details: MINECORP\192.168.1.200,TCP/IP NetBIOS; Not granted any authorities
13:04:06,559 DEBUG [org.alfresco.passthru.auth] Authenticate org.alfresco.repo.security.authentication.ntlm.NTLMPassthruToken@4374c52a: Username: chriso; Password: [PROTECTED]; Authenticated: false; Details: MINECORP\192.168.1.200,TCP/IP NetBIOS; Not granted any authorities via token

但我根本没有得到任何输出,只是为了导航到 /share。当我在共享的登录页面输入我的详细信息时,我看到的只是:

13:06:56,690 DEBUG [org.alfresco.passthru.auth] Authenticate user=ChrisO via local credentials
13:06:56,690 DEBUG [org.alfresco.passthru.auth] Authenticate org.alfresco.repo.security.authentication.ntlm.NTLMLocalToken@7f3384c9: Username: chriso; Password: [PROTECTED]; Authenticated: false; Details: null; Not granted any authorities via token
13:06:56,903 DEBUG [org.alfresco.passthru.auth] Authenticated token=org.alfresco.repo.security.authentication.ntlm.NTLMLocalToken@7f3384c9: Username: chriso; Password: [PROTECTED]; Authenticated: true; Details: null; Granted Authorities: ROLE_AUTHENTICATED

所以我不确定我在 log4j 属性中错过了什么。如果 SSO 不起作用,我认为发送的请求或收到的回复一定存在某种问题,但我看不到有关它们的任何信息。有人知道 Share passthru 子系统的不同 log4j 目标吗?

4

1 回答 1

0

对于共享 SSO 日志记录,您必须在共享 Web 应用程序中调整 log4j.properties 文件。为 org.alfresco.web.site.servlet.SSOAuthenticationFilter 调整记录器,您应该会看到输出。

根据您的日志输出,我假设您没有正确调整 SSO 的共享配置。关于“本地凭据”的输出显示共享登录是通过标准登录执行的。您是否将 share-config-custom.xml 中的“Remote”配置更改为使用 /wcs 而不是 /s?你有指定是真的吗?

于 2014-03-19T09:11:03.707 回答