1

我的 application.cfc 使用 OnRequestStart 来检查用户是否已登录

<cfif not isDefined("session.auth.isLoggedIn")>
  <cfinclude template="loginForm.cfm">
  <cfabort>
</cfif>

这破坏了我使用网关服务的尝试,该服务出错了

Error invoking CFC for gateway watchInboundFiles: null {GATEWAYTYPE={FileWatcher},ORIGINATORID={},CFCMETHOD={onDelete},DATA={{FILENAME={C:\temp\New Text Document.txt},TYPE={DELETE}}},CFCPATH={F:\ColdFusion9\wwwroot\watch_dir.cfc},GATEWAYID={watchInboundFiles}}.

如果我注释掉 OnRequestSTart 方法,网关将按预期工作。

其他人在这里之前遇到过这个问题,一个解决方案显然是

添加一个新的 application.cfc,它扩展了我的原始但覆盖了 onRequestStart() - 效果很好。

那请问我该怎么做?

4

2 回答 2

2

您还可以向 application.cfc 添加一些内容以查看呼叫是否来自网关。如果是这样,则跳过 if 块。

于 2011-01-23T18:41:12.363 回答
2

要回答您的问题:

您的 newApplication.cfc位于另一个目录中,但会扩展您的原始目录:

<cfcomponent extends="path.to.my.original.Application">

  <cffunction name="onRequestStart">
    <!--- No login code here --->
  </cffunction>

</cfcomponent>

所有其他功能都照常可用。

希望有帮助!更多信息在这里

于 2011-01-23T22:39:59.507 回答