Session 使用禁用cookie的URL参数维护coldfusion j2ee会话

Session 使用禁用cookie的URL参数维护coldfusion j2ee会话,session,url,cookies,parameters,coldfusion,Session,Url,Cookies,Parameters,Coldfusion,使用session.URLToken将会话信息附加到链接中,在启用J2EE和禁用浏览器cookie的情况下,我似乎无法使会话保持自身 由于以下限制,我需要针对这些确切标准的非常具体的解决方案: 我们有2500多个模板,并试图避免在每个链接中添加URLSessionFormat() 我们已经在每个链接上包含了一个内部变量(link.cfm?#OurVariable#),该变量是从单个登录验证模板设置的。我们希望在必要时重用该变量以插入会话.URLToken 我们更喜欢使用J2EE。这段代码已经可以

使用session.URLToken将会话信息附加到链接中,在启用J2EE和禁用浏览器cookie的情况下,我似乎无法使会话保持自身

由于以下限制,我需要针对这些确切标准的非常具体的解决方案:

  • 我们有2500多个模板,并试图避免在每个链接中添加
    URLSessionFormat()
  • 我们已经在每个链接上包含了一个内部变量(
    link.cfm?#OurVariable#
    ),该变量是从单个登录验证模板设置的。我们希望在必要时重用该变量以插入
    会话.URLToken
  • 我们更喜欢使用J2EE。这段代码已经可以很好地用于CF会话管理
  • 我们有1/3的用户不允许cookie,我们不能强迫他们这样做。他们在一个非常封闭的环境中使用旧浏览器
  • 现在,测试用例

    应用程序。cfc:

    <cfcomponent>  
        <cfset this.name = "test" />  
        <cfset this.sessionManagement = true>  
        <cfset this.sessionTimeout = createTimeSpan(2,0,0,0)>  
    </cfcomponent>  
    
    <CFOUTPUT>
    <CFSET SESSION.Testme = 123 />
    <a href="#URLSessionFormat("index2.cfm?somevar=test")#">link 1</a>
    or this
    <a href="index2.cfm?#session.urltoken#&somevar=test">link 2</a>
    </CFOUTPUT>
    
    
    
    Index.cfm:

    <cfcomponent>  
        <cfset this.name = "test" />  
        <cfset this.sessionManagement = true>  
        <cfset this.sessionTimeout = createTimeSpan(2,0,0,0)>  
    </cfcomponent>  
    
    <CFOUTPUT>
    <CFSET SESSION.Testme = 123 />
    <a href="#URLSessionFormat("index2.cfm?somevar=test")#">link 1</a>
    or this
    <a href="index2.cfm?#session.urltoken#&somevar=test">link 2</a>
    </CFOUTPUT>
    
    
    还是这个
    
    Index2.cfm:

    <CFDUMP VAR="#SESSION#">
    
    
    
    关闭浏览器cookie并打开J2EE会话变量后,“link 1”将在cfdump中显示“TestMe”键。“链接2”不会被删除

    关闭浏览器cookie和J2EE会话变量(默认为Coldfusion CFID/CFToken会话管理)后,两个链接都会按预期显示“TestMe”键

    请考虑我上面的4条标准,在提供解决方案时,为什么CF会话管理按预期工作,而J2EE不工作。


    感谢您提供的任何见解

    在这两种情况下,生成的URL是什么样子的?我认为他们是不同的,这就是为什么你们在JEE课程中看到不同的结果。基于此,我们可以确定一个解决方案。您使用的是哪个版本的ColdFusion?为什么不能使用
    URLSessionFormat()
    函数?它似乎完全符合您的要求,并且基于您的测试工作。正如我在最初的帖子中所指出的,我们试图避免使用2500个模板。这就是为什么我们不使用
    URLSessionFormat()
    ,除非我们需要。至于呈现的URL,它们在函数方法和非函数方法之间明显不同。我理解他们为什么不同。我不明白的是,为什么文档中说一个方法可以工作,而它不能。请原谅我的所有评论。我很难让StackOverflow格式正常工作。桥牌返回的双空格似乎对我不起作用。这句话应该换一行。