2016-04-11 41 views
1

cflogout. cflogout sadece cflogin ile mi kullanılıyor?ColdFusion ile çıkış yapmak için en iyi yol nedir? CFID ve CFTOKEN değerlerini temizliyor gibi görünmüyor.

Bu örnekte, cflogin kullanmıyorum. cflogin ile ilgili sorunlar nedeniyle oturum değişkenleri ayarlıyorum. CF11 Update 7'den önce çalıştı, ancak CF11U7, cflogin çift sayısını çözümlemiş görünüyordu. Başka biri var mı?

İhtiyacım olan bu kadar mı? Eğer öyleyse, işe yaramıyor.

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

ColdFusion kullanarak çıkış yapmak için en iyi yol hangisidir?

+0

Cflogin/cflogout'un özellikle iyi belgelenmiş olmadığını hissediyorum, ancak eminim ki sadece bir önceki üzerinde çalışacaktır. Ek oturum değişkenlerinin manuel olarak kaldırılması gerekir. Hiçbir şey kaçırmadığınızdan emin olmak için, uygulamanızda ayarlanabilecek diğer oturum anahtarlarını görüntülemek için ' #StructKeyList (Oturum) #' öğesini kullanın. – WillardSolutions

+0

'cflogout' yalnızca' cflogin' kullanır. Şu anda giriş yaptıklarımı nasıl tespit ediyorsunuz? Sadece oturum açtığınızı söylemek için kullandığınız belirteci silin. Tüm oturumun tamamını "structClear (session)" silebilirsiniz, ancak bu bir kızak çekiç yaklaşımıdır. –

+0

Bir kullanıcının giriş yaptığını belirleyen nedir? Oturumda bir userID var mı? –

cevap

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

Bu TÜM oturum değişkenleri siler sırasında yapılan yapıdır.

(1)

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

(2)

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

belirli değişkeni silmek Will (1) veya yapı (2) oturumu kapsamında.

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

Burada kullanıcı i giriş

+0

Bu. "StructClear (SESSION)" ile gidebilsem de - herkes farkı biliyor mu? – TRose

+0

@TRose İlk olarak, "oturum" yapısından "Kullanıcı" adlı anahtarı siliyorsunuz - ikincisiyle tüm oturumu kapatıyorsunuz. İkincisi, veri hakkında yalan söylemediği için daha güvenlidir.Giriş işlemlerini işleme biçiminize bağlı olarak, zaten bir "USER" anahtarınız bile olmayabilir. –

1
<cfset sessionInvalidate()> 

Bu işlev yalnızca oturum kapsamını değil, aynı zamanda CFID/CFToken değerini geçersiz kılar.