Alfresco 6.2配置Kerberos SSO后无法使用AOS功能问题咨询
问题1解答:Alfresco 6.2 AOS与Kerberos SSO的兼容性
Alfresco 6.2版本的AOS本身兼容Kerberos SSO,你遇到的报错不属于功能不支持,而是该版本的已知代码缺陷:Alfresco 6.2依赖的Spring框架版本中,org.springframework.http.HttpMethod枚举没有收录WebDAV扩展的PROPFIND、LOCK等非标准HTTP方法,Kerberos认证的父类过滤器BaseSSOAuthenticationFilter处理AOS请求时,直接调用HttpMethod.valueOf()匹配方法,遇到扩展方法就抛出非法参数异常。
问题2解答:修复配置方案
你当前的认证链、aos.baseUrlOverwrite、反向代理配置均无问题,可根据需求选择以下两种修复方案:
方案1:临时无侵入 workaround(推荐)
调整Kerberos认证过滤器的路径排除规则,让AOS、WebDAV路径的请求回退到你认证链中已配置的NTLM认证,用户访问Share站点仍保留Kerberos自动登录体验,编辑Office文档时的NTLM认证对用户无感知,无需修改代码。
在alfresco-global.properties中添加以下配置后重启Alfresco服务即可:
kerberos.authentication.filter.excludePathPatterns=/alfresco/aos/*,/alfresco/webdav/*
方案2:全链路Kerberos适配方案
如果要求AOS请求也必须走Kerberos认证,可选择以下两种操作:
- 升级Alfresco版本到7.0及以上,该版本已官方修复了这个WebDAV扩展方法的匹配bug
- 自行修改
BaseSSOAuthenticationFilter代码,在调用HttpMethod.valueOf()前增加方法合法性校验,非标准HTTP方法跳过公共API路由匹配逻辑,直接走WebDAV/AOS的原生处理流程,重新编译打包部署即可。
内容的提问来源于stack exchange,提问作者tartard
相关产品推荐
相关产品推荐

