[英]Removing user login credentials from session when user logout in spring-security
[英]can not set login logout session from android side when i am fetch data from server
我正在ODOO基本應用程序上工作並將用戶詳細信息存儲到ODOO服務器,但無法從必須從android端進行管理的服務器登錄和注銷,因此我已經從android端使用了會話管理。首先我已成功登錄到我的應用程序登錄名但是當第二次登錄但詳細獲取第一個用戶時。如何使用android從服務器端注銷。
public class SharedPref {
public SharedPreferences pref;
public SharedPreferences.Editor editor;
public SharedPref(Context context) {
this.pref = context.getSharedPreferences("P1m2h3spellbound", Context.MODE_PRIVATE);
}
public void
save(String key, String value) {
// TODO Auto-generated method stub
SharedPreferences.Editor editor = pref.edit();
editor.putString(key, value);
editor.commit();
}
public void save(String key, Boolean value) {
// TODO Auto-generated method stub
SharedPreferences.Editor editor = pref.edit();
editor.putBoolean(key, value);
editor.commit();
}
public void save(String key, int value) {
// TODO Auto-generated method stub
SharedPreferences.Editor editor = pref.edit();
editor.putInt(key, value);
editor.commit();
}
public int load(String key, int def) {
// TODO Auto-generated method stub
int i = pref.getInt(key, def);
return i;
}
public String load(String key, String def) {
// TODO Auto-generated method stub
String strSaved = pref.getString(key, def);
return strSaved;
}
public Boolean load(String key, boolean def) {
// TODO Auto-generated method stub
boolean isbool = pref.getBoolean(key, def);
return isbool;
}
public void logoutapp() {
// TODO Auto-generated method stub
SharedPreferences.Editor editor = pref.edit();
boolean isZoomGuide = load("isZoomGuide", false);
String ip = load("server_ip", "");
String port = load("server_port", "");
String db = load("server_db", "");
editor.clear();
editor.commit();
save("isZoomGuide", isZoomGuide);
save("server_ip", ip);
save("server_port", port);
save("server_db", db);
save("isServer", true);
}
}
首先,如果您的類中有一個屬性為public SharedPreferences.Editor editor;
為什么要在每個save
方法上創建不同的Editor
? 同樣,在logoutapp
方法中,您可以使用編輯器。
我沒有得到您要使用此方法執行的操作,讓我們逐步進行
public void logoutapp() {
// TODO Auto-generated method stub
SharedPreferences.Editor editor = pref.edit();
boolean isZoomGuide = load("isZoomGuide", false);
String ip = load("server_ip", "");
String port = load("server_port", "");
String db = load("server_db", "");
editor.clear();
editor.commit();
save("isZoomGuide", isZoomGuide);
save("server_ip", ip);
save("server_port", port);
save("server_db", db);
save("isServer", true);
}
首先,您要將一些存儲在SharedPreferences
上的值加載並存儲到變量中。 然后您clear()
我想您知道會從首選項中刪除所有值。 調用commit后,剩下的唯一首選項將是您在此編輯器中定義的首選項。
然后,我看到一個commit()
但是我看不到您正在存儲它的結果,因此您只能使用apply()
。 然后保存以前存儲的值。
我不明白的是,您是否需要從SharedPreferences
刪除所有數據? 我不這么認為,因為您再次存儲了相同的值。 您可以使用remove(String key)
刪除存儲在SharedPreferences
中的特定項目。
另外,我想看看您如何從應用程序注銷以及如何登錄到應用程序以消除我的疑慮。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.