我一直无法找到解决此问题的方法。
我有我的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”。 我错过了什么吗?
答案 0 :(得分:0)
如果您在添加onSessionStart之前对应用进行了任何测试,那么您的会话已经开始并且不会运行。您可以通过使用ApplicationStop()重新启动应用程序,重新启动CF(跛脚,但有效),甚至重命名应用程序(更蹩脚,但我已经完成了)。