【问题标题】:Coldfusion gateway, problem with application.cfc OnRequestStartColdfusion 网关,application.cfc OnRequestStart 的问题
【发布时间】:2011-01-24 06:39:59
【问题描述】:

我的 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 方法,网关将按预期工作。

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

添加一个新的 application.cfc 扩展了我原来的但覆盖了 onRequestStart() - 有效 完美。

请问我该怎么做?

【问题讨论】:

    标签: coldfusion gateway application.cfc


    【解决方案1】:

    回答你的问题:

    您的新Application.cfc 将存在于另一个目录中,但会扩展您原来的:

    <cfcomponent extends="path.to.my.original.Application">
    
      <cffunction name="onRequestStart">
        <!--- No login code here --->
      </cffunction>
    
    </cfcomponent>
    

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

    希望有帮助!更多信息here

    【讨论】:

    【解决方案2】:

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

    【讨论】:

    • 我花了很多时间试图对网关呼叫与网络服务器发起的呼叫做出铁定的决定,但无法让我满意,所以我最终做了额外的应用程序.cfc 事情我自己。但是,如果你想尝试一下,我发现的唯一标记是各种缺失的 CGI 变量。
    猜你喜欢
    • 2014-06-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多