You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Eclipse中执行Maven构建项目时出现Solr 403错误求助

解决Alfresco Solr追踪时的403权限错误

首先来看你遇到的错误日志:

2018-05-23 13:28:45,098 ERROR [solr.tracker.AbstractTracker] [SolrTrackerScheduler_Worker-26] Tracking failed org.alfresco.error.AlfrescoRuntimeException: 04232365 GetModelsDiff return status is 403 at org.alfresco.solr.client.SOLRAPIClient.getModelsDiff(SOLRAPIClient.java:1157) at org.alfresco.solr.tracker.ModelTracker.trackModelsImpl(ModelTracker.java:249) at org.alfresco.solr.tracker.ModelTracker.trackModels(ModelTracker.java:207) at org.alfresco.solr.tracker.ModelTracker.doTrack(ModelTracker.java:167) at org.alfresco.solr.tracker.AbstractTracker.track(AbstractTracker.java:185) at org.alfresco.solr.tracker.TrackerJob.execute(TrackerJob.java:47) at org.quartz.core.JobRunShell.run(JobRunShell.java:216) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:563)

这个403 Forbidden错误本质是Solr节点向Alfresco Repository请求模型差异时,没有通过权限验证,下面是几个经过验证的解决步骤:

  • 检查Solr配置文件的认证参数
    找到Solr核心下的alfresco.properties文件(通常在solrhome/cores/alfresco/conf路径),确认以下参数和Alfresco Repository的配置完全一致:

    alfresco.baseUrl=http://localhost:8080/alfresco
    alfresco.user=admin
    alfresco.password=admin
    

    注意如果Alfresco开启了HTTPS,要把baseUrl改成对应的HTTPS地址,同时确保Solr信任Alfresco的SSL证书。

  • 确认Alfresco的CSRF保护设置
    如果Alfresco启用了CSRF保护(新版默认开启),需要在Solr的配置里添加CSRF token支持。可以在alfresco.properties里加入:

    solr.alfresco.csrf.enabled=true
    

    若仅用于测试,可临时关闭Alfresco的CSRF保护(生产环境不建议):修改Alfresco的web.xml,注释掉CsrfFilter的配置段。

  • 检查Maven构建时的环境变量和配置
    如果你通过Maven启动Solr或Alfresco,确保构建脚本传递的认证参数正确。比如在Maven的pom.xml中,Alfresco插件的配置要和实际环境匹配:

    <plugin>
      <groupId>org.alfresco.maven.plugin</groupId>
      <artifactId>alfresco-maven-plugin</artifactId>
      <configuration>
        <alfrescoHost>localhost</alfrescoHost>
        <alfrescoPort>8080</alfrescoPort>
        <alfrescoUser>admin</alfrescoUser>
        <alfrescoPassword>admin</alfrescoPassword>
      </configuration>
    </plugin>
    
  • 验证Alfresco Repository的访问权限
    手动用浏览器或curl请求http://localhost:8080/alfresco/s/api/metadata?method=GetModelsDiff,输入配置的用户名和密码,看是否能正常返回数据。如果手动请求也返回403,说明是Alfresco这边的权限配置问题,需要检查admin用户的权限,或是否有防火墙/反向代理拦截了请求。

内容的提问来源于stack exchange,提问作者karuppasamy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:42:04