2016-04-11 8 views
1

cflogoutは、CFID値とCFTOKEN値をクリアしていないようです。 cflogoutcfloginとのみ使用していますか?この場合ColdFusionでログアウトするにはどうすればよいですか?

、私はcfloginを使用していません。 cfloginの問題のためセッション変数を設定しています。それはCF11 Update 7より前に機能しましたが、CF11U7はcflogin二重問題を解決したようです。誰か?

は、これは私が必要とするすべてのですか?もしそうなら、それは動作していません。

<cfset structDelete(session, "CFTOKEN")> 
<cfset structDelete(session, "CFID")> 

ColdFusionを使用してログアウトするにはどうすればよいでしょうか?ここで

+0

私はcflogin/cflogoutのような文書はよく書かれていませんが、私はかなり確信しています。は以前のでのみ動作します。追加セッションバールは手動で設定解除する必要があります。何も見つからないようにするには、アプリケーションに設定されている他のセッションキーを表示するには、 ' #StructKeyList(Session)#'を使用してください。 – WillardSolutions

+0

'cflogout'は' cflogin'のみを使用します。あなたは現在彼らがログインしているとどのように識別していますか?あなたがログインしていると言うために使用するトークンを削除するだけです。あなたは 'structClear(session)'セッション全体を削除することができますが、これは少しのスレッジハンマーアプローチです。 –

+0

ユーザーがログインしていることを識別していますか?セッション中にユーザーIDはありますか? –

答えて

2
<cfscript> 
    StructClear(Session) 
</cfscript> 

の間に作られた構造です。

(1)

<cfscript> 
    StructDelete(Session.MySessionVariable) 
</cfscript> 

(2)

<cfscript> 
    StructDelete(Session, "MySessionStructure") 
</cfscript> 

は、セッションスコープに固有の変数(1)又は構造(2)を削除します。

2
<cfset StructDelete(SESSION,"user")> 

ユーザーは、私はこれは、すべてのセッション変数を削除するログイン

+0

これ。私は 'structClear(SESSION)'と一緒に行くかもしれませんが、誰もが違いを知っていますか? – TRose

+0

@TRose最初に、構造体 "session"から "User"という名前のキーを削除します。第2のセッションでは、セッション全体が空白になっています。 2番目は、データが残っていないので、より安全です。あなたがログインを処理する方法によっては、とにかく "USER"キーがないかもしれません。 –

1
<cfset sessionInvalidate()> 

この関数は、セッションスコープを消去するだけでなく、CFID/CFTokenも無効にします。

関連する問題