cflocation和会话变量

时间:2014-06-09 20:03:47

标签: coldfusion

我的用户来自第三方网站,通过http发布,网址中加密了登录凭据。

一旦index.cfm识别出这些变量,它就会将请求发送到:

 <cflocation url="login.cfm?vals=#URLEncodedFormat(url.vals)#" addtoken="yes">

如果登录凭据有效,login.cfm将构建会话结构。

   Session.user.userID = 1;
   Session.user.firstName = "jo";
   Session.user.lastName = "boo";

然后,它确实:

 <cflocation url="somepage.cfm" addtoken="yes">

当我在somepage.cfm中转储会话变量时,我没有看到session.user结构。另外,我每次刷新时都会在somepage.cfm上看到不同的cfid,cftoken。我在ColdFusion 10上。

有什么想法吗?我如何保留session.user?

编辑:application.cfc有

   this.name            = "My Application";
   this.applicationTimeout  = createTimeSpan(0,2,0,0);  
   this.clientManagement    = true;
   this.loginStorage    = "session";
   this.sessionManagement   = true;
   this.sessionTimeout      = createTimeSpan(0,0,30,0); 
   this.setClientCookies    = true;
   this.setDomainCookies    = false;
   this.scriptProtect   = "all";
   this.javaSettings    = {LoadPaths = ["#GetDirectoryFromPath(GetCurrentTemplatePath())#java/"], reloadOnChange=true, watchInterval=180};

编辑:这是文件      http://1drv.ms/1kjnQO2

将它们解压缩到您的C:\ ColdFusion10 \ cfusion \ wwwroot \

然后转到:

http://localhost:8500/test/call.cfm

编辑:19:00 - 10月:

哇,真的很糟糕!回到家,下载了zip,将其打开到localhost。当我运行时,我可以从call.cfm中看到session.user变量。

  <cfdump var="#server#">

给了我:

 coldfusion 
 struct
 InstallKit  Native Windows
 appserver   J2EE
 expiration  {ts '2012-10-30 10:35:35'}
 productlevel    Developer
 productname     ColdFusion Server
 productversion  10,0,0,283111
 rootdir     C:\ColdFusion10\cfusion

我不确定这是否与CF服务器版本有关。

更新:09:00-11:00 一旦我在CFAdmin中禁用“使用J2EE会话变量”,会话变量对call.cfm可见。现在,我必须在启用时使用J2EE会话变量。

0 个答案:

没有答案