Alfresco共享:接受来自电子邮件的站点邀请时出错

Alfresco共享:接受来自电子邮件的站点邀请时出错,alfresco,ecm,Alfresco,Ecm,在Alfresco Community 4.0.d 邀请用户访问站点 被邀请的用户将收到包含接受和拒绝链接的邀请电子邮件 如果用户单击“接受”链接,将显示一个错误页面: 处理邀请接受失败。很遗憾,无法注册您的邀请接受。您已经接受或拒绝了邀请,或者邀请者取消了您的邀请。 catalina.out中的错误日志: 2012-09-04 15:15:53,845 ERROR [extensions.webscripts.AbstractRuntime] [http-8080-94] Exception

在Alfresco Community 4.0.d

  • 邀请用户访问站点
  • 被邀请的用户将收到包含接受和拒绝链接的邀请电子邮件
  • 如果用户单击“接受”链接,将显示一个错误页面:
  • 处理邀请接受失败。很遗憾,无法注册您的邀请接受。您已经接受或拒绝了邀请,或者邀请者取消了您的邀请。

    catalina.out中的错误日志:

    2012-09-04 15:15:53,845  ERROR [extensions.webscripts.AbstractRuntime] [http-8080-94] Exception from executeScript - redirecting to status template error: A valid SecureContext was not provided in the RequestContext
     net.sf.acegisecurity.AuthenticationCredentialsNotFoundException: A valid SecureContext was not provided in the RequestContext
        at net.sf.acegisecurity.intercept.AbstractSecurityInterceptor.credentialsNotFound(AbstractSecurityInterceptor.java:481)
        at net.sf.acegisecurity.intercept.AbstractSecurityInterceptor.beforeInvocation(AbstractSecurityInterceptor.java:359)
        at net.sf.acegisecurity.intercept.method.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:77)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.alfresco.repo.security.permissions.impl.ExceptionTranslatorMethodInterceptor.invoke(ExceptionTranslatorMethodInterceptor.java:46)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.alfresco.repo.audit.AuditMethodInterceptor.invoke(AuditMethodInterceptor.java:147)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.alfresco.repo.transaction.RetryingTransactionInterceptor$1.execute(RetryingTransactionInterceptor.java:69)
        at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:388)
        at org.alfresco.repo.transaction.RetryingTransactionInterceptor.invoke(RetryingTransactionInterceptor.java:59)
        at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
        at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
        at $Proxy8.exists(Unknown Source)
        at org.alfresco.repo.rule.RuleServiceImpl.checkForCopy(RuleServiceImpl.java:1269)
        at org.alfresco.repo.rule.RuleServiceImpl.canExecuteRule(RuleServiceImpl.java:1249)
        at org.alfresco.repo.rule.RuleServiceImpl.executePendingRule(RuleServiceImpl.java:1161)
        at org.alfresco.repo.rule.RuleServiceImpl.executePendingRulesImpl(RuleServiceImpl.java:1114)
        at org.alfresco.repo.rule.RuleServiceImpl.executePendingRules(RuleServiceImpl.java:1087)
        at org.alfresco.repo.rule.RuleTransactionListener.beforeCommit(RuleTransactionListener.java:57)
        at org.alfresco.repo.transaction.AlfrescoTransactionSupport$TransactionSynchronizationImpl.doBeforeCommit(AlfrescoTransactionSupport.java:747)
        at org.alfresco.repo.transaction.AlfrescoTransactionSupport$TransactionSynchronizationImpl.doBeforeCommit(AlfrescoTransactionSupport.java:727)
        at org.alfresco.repo.transaction.AlfrescoTransactionSupport$TransactionSynchronizationImpl.beforeCommit(AlfrescoTransactionSupport.java:687)
        at org.springframework.transaction.support.TransactionSynchronizationUtils.triggerBeforeCommit(TransactionSynchronizationUtils.java:95)
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.triggerBeforeCommit(AbstractPlatformTransactionManager.java:927)
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.processCommit(AbstractPlatformTransactionManager.java:737)
        at org.springframework.transaction.support.AbstractPlatformTransactionManager.commit(AbstractPlatformTransactionManager.java:723)
        at org.springframework.transaction.interceptor.TransactionAspectSupport.commitTransactionAfterReturning(TransactionAspectSupport.java:393)
        at org.alfresco.util.transaction.SpringAwareUserTransaction.commit(SpringAwareUserTransaction.java:472)
        at org.alfresco.repo.transaction.RetryingTransactionHelper.doInTransaction(RetryingTransactionHelper.java:410)
        at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecute(RepositoryContainer.java:462)
        at org.alfresco.repo.web.scripts.RepositoryContainer.transactionedExecuteAs(RepositoryContainer.java:500)
        at org.alfresco.repo.web.scripts.RepositoryContainer.executeScript(RepositoryContainer.java:275)
        at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:372)
        at org.springframework.extensions.webscripts.AbstractRuntime.executeScript(AbstractRuntime.java:209)
        at org.springframework.extensions.webscripts.servlet.WebScriptServlet.service(WebScriptServlet.java:118)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.alfresco.web.app.servlet.GlobalLocalizationFilter.doFilter(GlobalLocalizationFilter.java:58)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:470)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
        at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
        at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
        at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
        at java.lang.Thread.run(Thread.java:662)
    

    如何解决此问题?

    您是否试图从邮件中的链接直接访问与发送邀请的用户登录的浏览器?这似乎是一个凭据错误的身份验证问题。如果可以的话,试着使用另一台计算机,或者干脆清除缓存和cookie,或者使用没有存储以前用户密码的另一台浏览器。如果有帮助,请告诉我。

    您需要确保规则的定义不太宽泛-尝试指定筛选器,以便只匹配您感兴趣的确切内容类型。我不明白为什么你的规则会被正在处理的站点邀请触发,除非你已经匹配了所有的内容项


    如果您可以澄清问题,描述您设置的规则以及您试图实现的目标,那么可能有人可以为您提供更多帮助。

    您是否在存储库中定义了一些自定义规则?根据堆栈跟踪,看起来这就是导致问题的原因。@WillAbson你说得对!我删除了我的自定义规则,邀请链接工作正常。现在,我如何在不干扰邀请链接的情况下在存储库中拥有自定义规则?你说得对。我有一个规则,它为新文档添加了一些方面,这些方面匹配用户Homes目录中的所有内容项。这是我唯一的习惯规则。我将尝试你的建议,并用几个自定义规则对其进行测试。好的,我已经制定了一些自定义规则来避免匹配条件中的所有项。到目前为止,站点邀请邮件中的“接受链接”正在工作。非常感谢。