我按照教程扩展了 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 目标吗?