【发布时间】:2014-07-30 14:11:24
【问题描述】:
我在 Windows2008 R2 上使用 ColdFusion 11。据我了解,如果根文件夹中有 application.cfm 页面,那么根目录下的任何 .cfm 页面都会先处理该页面,然后再处理常规的 .cfm 页面。我注意到它首先处理我的常规页面,然后调用 application.cfm 页面。
在我的例子中,我有一个更新数据库的网页,但是在我的 application.cfm 页面中,我检查了一个会话变量以查看用户是否已登录。如果他们没有登录,那么我将他们重定向到登录页面,让他们登录,设置会话变量,然后将他们重定向回处理页面。但我注意到,当我运行页面时,数据库会更新,然后用户会被重定向登录,然后数据库会再次更新。
我没有正确使用 application.cfm 页面吗?我认为它应该用于检查登录和类似的事情。如何确保它首先运行?
顺便说一句,它是整个网站中唯一的 application.cfm 页面,我没有任何 application.cfc 文件。
谢谢。
【问题讨论】:
-
application.cfm/cfc 总是首先运行,但是其中的事件在页面生命周期的不同时间发生。 onSessionStart 绝对应该在 onRequest 如果它是一个新会话之前运行。
-
Application.cfm 应该执行您放在那里的代码。正如其他人所说,它确实首先运行。解决此特定问题类似于解决许多其他问题。看看发生了什么。 cfdump 和 cfabort 是你的朋友。
标签: web-applications coldfusion