ユーザーがアプリケーションにログインしたら、セッション識別子をリセットする必要があります。しかし、私は数日間試しましたが、まだ jsessionid Cookie をリセットできません。リセットした場合、サーバーはそれを認識していないようです。誰か提案やコード例を教えてください。
login.cfm がフォームを送信する login_action.cfm のコードは次のとおりです。login_action.cfm のコードは次のとおりです。
<cfcookie name="JSESSIONID" value="0" expires="now">
<cfif IsDefined('cookie.JSESSIONID')>
<cfheader name="Set-Cookie" value="JSESSIONID=0;expires=#GetHttpTimeString(CreateODBCDateTime(now()))#;path=/;HTTPOnly;secure=true;">
</cfif>
<cfset structclear(session)>
<cfhttp url="loginverify.cfm" method="post" >
<cfhttpparam name="username" value="#form.username#" type="formfield" ><cfhttpparam name="password" value="#form.password#" type="formfield" >
</cfhttp>
<cfset cookieval = "#MID(cfhttp.responseheader['set-cookie'][1], 12, findnocase(";", cfhttp.responseheader['set-cookie'][1])-13)#">
<cfheader name="Set-Cookie" value="#cfhttp.responseheader['set-cookie'][1]#">
<cfset cookie.jsessionid = cookieval>
<cflocation url="myfirstpage.cfm" addtoken="no">
loginverify.cfm でユーザーを認証するコードは次のとおりです。
<!--- authenticate users --->
<!--- if user passed--->
<cfset session.gooduser = true>
<cfset session.userpermission = 1>
しかし、loginverify.cfm で定義されたセッション変数が login_action.cfm で認識されないようです。
.
なにか提案を?
どうもありがとう。