当用户登录并重定向到安全页面时,该URL会像列表一样被追加两次。这反过来导致404。
(例如:http://uwf.edu/something.cfm,http://uwf.edu/something.cfm)
目前,该网站有一个自定义登录标记,我无法编辑,因为我无法控制它。 (这只是一个自定义的cf标签,允许人们在大学登录。)
我必须在此标记之后执行其他处理,以验证他们是否有资格在此特定网站上登录。验证完成后,会将其重新定向到另一个带有cflocation的页面。
<custom login tag>
<cfinvoke component="#application.path#cfc/security" method = "constructSession" returnvariable = "status">
.. params excluded..
</cfinvoke>
<cfif status eq 1>
<cflocation url="#someurl_invalid#" addtoken="no" />
<cfelse>
<cflocation url="#someurl#" addtoken="no" />
</cfif>
自定义登录标记已刷新当前页面,但我显然不希望这样,因此使用上述方法重定向。这在ColdFusion 8中有效。
这篇文章给了我一些关于发生了什么的见解......但我不确定如何解决这个问题。 有没有人有任何解决方案?
答案 0 :(得分:0)
由于您无法控制自定义标记,因此您必须解决此问题而不是修复它。
我建议更改代码:
<cfif status eq 1>
<cflocation url="#ListFirst(someurl_invalid)#" addtoken="no" />
<cfelse>
<cflocation url="#ListFirst(someurl)#" addtoken="no" />
</cfif>
它不漂亮,但无论URL是否为列表都可以使用。