ColdFusion 9:登录跳过预防

时间:2014-03-21 03:11:16

标签: coldfusion coldfusion-9

我一直无法找到解决此问题的方法。

我有我的Application.cfc

<cfcomponent>
<cfscript>
    this.name = "Login";
    this.applicationtimeout = "#createtimespan(0,0,20,0)#";
    this.sessionManagement = true;
    this.sessiontimeout = "#createtimespan(0,0,20,0)#";
    this.setClientCookies = true;
    this.setDomainCookies = false;
    this.scriptProtect = "all";
</cfscript>


<cffunction name="onApplicationStart" returntype="boolean">

    <cfreturn True />
</cffunction>

<cffunction name="onSessionStart">
    <cfscript>
        Session.Login = false;
    </cfscript>
</cffunction>
</cfcomponent>

我添加了这些代码行,试图阻止直接进入页面:

<cfif NOT Session.Login>
<cflocation url="login.cfm" addtoken="no" />
</cfif>

然而,我只是一直收到一条错误,说“在会话中未定义元素LOGIN”。 我错过了什么吗?

1 个答案:

答案 0 :(得分:0)

如果您在添加onSessionStart之前对应用进行了任何测试,那么您的会话已经开始并且不会运行。您可以通过使用ApplicationStop()重新启动应用程序,重新启动CF(跛脚,但有效),甚至重命名应用程序(更蹩脚,但我已经完成了)。