我正在尝试使用CFLOGIN,只需对Adobe CFLOGIN documentation page上描述的代码稍作修改即可演示应用程序。
应用程序会向用户发送一封包含如下链接的电子邮件: theURL/loggedin/addplayertomatch.cfm?match_ID=theID
如果用户已经登录,则单击此链接效果很好。如果用户未登录,application.cfc会相应地包含loginform.cfm,其中登录表单操作指向:
<form action="#CGI.script_name#?#CGI.query_string#" method="Post"> (查询字符串此时仍包含我的match_ID参数)。但是,当我提交登录表单时,页面URL最终如下所示:
[theURL]/loggedin/addplayertomatch.cfm?CFID=5833675&CFTOKEN=7f75c4fe49d10887-F39D4788-D376-1349-E971B9C4122031A0match_ID参数现在已丢失,取而代之的是CFID & CFTOKEN。出于演示的目的,我并不介意CFID和CFTOKEN加入其中,但是我的match_ID URL参数去哪里了&我如何才能找回它呢?
注意:我的application.cfc或loginform.cfm中没有任何CFLOCATIONs。
谢谢!
发布于 2016-01-25 23:29:53
它看起来像是在你的应用上启用了clientManagement。如果不需要,可以尝试将其关闭,并查看CFID等是否不会覆盖您自己的查询字符串。
或者,您可以尝试获取OnRequestStart开头的查询字符串,如下所示:
<cfset request.qString = listLast(request,"?")> 然后将其附加到表单操作,如下所示:
<form action="#CGI.script_name#?#CGI.query_string#&request.qString" method="Post">有关clientManagment的更多信息,请访问:
https://stackoverflow.com/questions/34982200
复制相似问题