我尝试使用CFLOGIN代码,只是稍微修改了Adobe CFLOGIN documentation page中描述的代码来演示应用程序。
应用程序向用户发送包含以下链接的电子邮件: [theURL] /loggedin/addplayertomatch.cfm?match_ID= [theID]
如果用户已登录,请单击此链接。如果他们没有登录,application.cfc会相应地包含loginform.cfm,登录表单操作指向:
ViewResolver
(此时查询字符串仍包含我的match_ID参数)。但是,当我提交登录表单时,页面URL最终看起来像:
<form action="#CGI.script_name#?#CGI.query_string#" method="Post">
match_ID参数现已丢失,由CFID&amp; CFTOKEN。出于演示目的,我并不介意CFID&amp; CFTOKEN加入了乐趣,但我的match_ID网址参数在哪里?我怎么能回来?
注意:我的application.cfc或loginform.cfm中没有任何CFLOCATION。
谢谢!
答案 0 :(得分:0)
您的应用程序似乎启用了clientManagement
。如果不需要,您可以尝试将其关闭,看看CFID等是否会覆盖您自己的查询字符串。
或者,您可以尝试使用以下内容在OnRequestStart
的开头抓取查询字符串:
<cfset request.qString = listLast(request,"?")>
然后使用类似的内容将其附加到表单操作:
<form action="#CGI.script_name#?#CGI.query_string#&request.qString" method="Post">
有关clientManagment的更多信息: