2011-05-12 17 views
0

我想實現註銷功能。當用戶點擊Logout時,我想結束他們的會話並重定向到另一個頁面。可悲的是,我僅限於JavaScript。註銷功能對於純JavaScript中的Zendesk

編輯: 將此移到Zendesk,因爲它看起來像他們有一個遠程驗證API。

謝謝所有回答的人。

+0

服務器上是否存在正確的方法? – slandau 2011-05-12 18:40:34

+0

@slandau我根本無法訪問服務器,這就是爲什麼我只能使用javascript – 2011-05-12 18:42:59

+0

@slandau有一個很好的問題,所以你真的知道它正在使用的_what_服務器技術?這些通常有註銷的常用方法,您可以通過JS訪問它們。 – pixelbobby 2011-05-12 18:46:38

回答

2

這取決於您使用的服務器技術。

假設有一個logout.aspx頁面。你可以只是做一個AJAX請求到該頁面扎普會話或刪除應用程序可能會使用到高速緩存驗證一個cookie,然後重定向像這樣:

window.location = "http://www.mysite.com/logout.aspx";

UPDATE

我剛剛發現,這樣應該幫助這個職位(這是不容易的):
https://stackoverflow.com/questions/3237476/zendesk-remote-auth-using-java

+0

我無法訪問服務器,所以我只能使用javascript – 2011-05-12 18:43:22

3

假設你的登錄會話統計e存儲在不是httpOnly的cookie中,您可以通過將其過期日期設置爲過去來簡單地刪除登錄cookie。例如,使用this cookie library

$.cookie('login_cookie_name', null); 

然後,你可以做一個location.assign('/logged_out_page.html');重定向到另一個頁面。

+0

(我不會-1),但沒有提到jQuery的。不過,這是一個很好的插件。我也使用它。 – pixelbobby 2011-05-12 18:48:02

+0

@pixelbobby:儘管它的名字,該插件實際上並不需要jQuery。如果你不使用jQuery,請在[line 60](https://github.com/carhartl/jquery-cookie/blob/master/jquery.cookie.js#L60)上重命名命名空間(你甚至可以改變它到'window')並刪除[line 64](https://github.com/carhartl/jquery-cookie/blob/master/jquery.cookie.js#L64)。 – josh3736 2011-05-12 18:53:29

+0

「啊」一詞浮現在腦海...... – pixelbobby 2011-05-12 18:56:56