调用特定ColdFusion文件时丢失标头信息

时间:2014-10-14 18:30:19

标签: coldfusion

当我们尝试将内部ColdFusion网站迁移到新服务器时,我们遇到了难以捉摸和令人沮丧的问题。新服务器是带有IIS 7的Windows NT 6.0,运行ColdFusion 11。

Siteminder通过标头发送信息,包括用户所在的RACF组。然后ColdFusion application.cfm文件将此列表设置为变量,页面检查它以确定用户在哪个区域工作并显示正确的菜单选项等。

但是,每当输入文件名时,它都不会收到标题信息。例如,将index.cfm设置为默认页面:

WorkforceTracking.localnet.com/Jobs/ - 返回RACF组标题。 WorkforceTracking.localnet.com/Jobs/index.cfm - 不返回RACF组头。

我们最初怀疑Siteminder未设置为正确保护子站点。我们的Siteminder团队向我们提供了一个文件,以检查目录中的其他文件是否有标题信息。对于根站点和任何非.cfm文件,标题信息都会正确显示。

无论我们将默认站点设置为什么,都是如此 - 我已将其更改为其他.cfm文件,并且它们将收到标题信息。

因此,这似乎表明ColdFusion本身在直接调用文件时丢失了头信息。我是服务器管理员角色的新手,我不确定从这里采取什么步骤。有人知道为什么ColdFusion会在调用特定的.cfm文件时丢失头信息吗?

编辑 -
目前,我已经删除了application.cfm和索引文件,只输出了头信息,并让索引页面显示为“Hello”。 index.cfm文件如下:

<cfset x = GetHttpRequestData()> 
<cfoutput> 
<table cellpadding = "2" cellspacing = "2"> 
<tr> 
    <td><b>HTTP Request item</b></td> 
    <td><b>Value</b></td> 
</tr> 
<cfloop collection = #x.headers# item = "http_item"> 
    <tr> 
        <td>#http_item#</td> 
        <td>#StructFind(x.headers, http_item)#</td>
    </tr> 
</cfloop> 
<tr> 
    <td>request_method</td> 
    <td>#x.method#</td>
</tr> 
<tr> 
    <td>server_protocol</td> 
    <td>#x.protocol#</td>
</tr> 
</table> 
<b>http_content --- #x.content#</b> 
</cfoutput>

<cfoutput>Hello!</cfoutput>

和(某些)标题输出:

适用于devworkforcetracking2.localnet.com/Jobs /
内容长度0
JDWAS_RACFGROUPS U90 ^ $ IMS10G ^ $ IMS20G ^ $ IMS21G ^ $ IMS30G ^ $ TSO11 ^ $ TSO12 ^(等)
SM_AUTHREASON 0

适用于devworkforcetracking2.localnet.com/Jobs/index.cfm
内容长度0
SM_SERVERSESSIONID a9CkEe5LwWPXXPu9a4Mssy8 + o3w =(/ Jobs /更早出现)
SM_AUTHREASON 0

1 个答案:

答案 0 :(得分:0)

您是否可以在SiteMinder webagent上启用跟踪,并查看为 WorkforceTracking.localnet.com/Jobs/index.cfm 资源打印的详细信息。

如果正在传递标题,则会在siteminder代理跟踪日志文件中打印它们。