1

我已从 ColdFusion 8 迁移到 ColdFusion 2016,并在 CF 管理控制台下指定了路径。见图片。我的文件之一(login.cfm)位于 webroot 之外的 /common 目录下。 映射

当我点击应用程序 url 时,它首先找到 index.cfm,然后找到我正在使用 cfmodule 调用 login.cfm 的 validate.cfm。PL 从 validate.cfm 检查代码行。

<cftry>
    <cfmodule template="/common/security/login.cfm"
            login="#form.login#"
            password="#form.password#"
            returnvar="login_result">

    <cfcatch>
        <cf_error_logreg error="An error occurred checking for active PO in validate.cfm. Please report this error to #request.app.admin_email# immediately.">
        <cfabort>
    </cfcatch>
</cftry>

因此,每次从 /common 目录中找到某个页面并显示 cfcatch 块中指定的错误消息时,它都不会运行 cfmodule 并抛出 cftry 块。这意味着它没有访问我在 CF 管理控制台中设置的映射。任何想法?我使用 IIS 作为 Web 服务器。

4

1 回答 1

1

问题解决了。我们所做的映射是正确的,但应用程序未能设置 cookie。ColdFusion 无法将我们指定的 cookie 添加到响应中。这可能是因为我们使用它来设置 ColdFusion 会话 Cookie 或身份验证 cookie 之一。我已经解决了。为了解决这个问题,我登录到 Coldfusion Admin> Memory Variables 并取消选中“禁用使用 Coldfusion 标签/功能更新 Coldfusion 内部 cookie”。保存设置并重新启动网站。有效。

于 2019-04-08T04:20:34.160 回答