2014-12-18 22 views
0

我已經從這個Android應用程序用戶可以登錄和註冊Yii
登錄和註冊工作正常,但當我發送其他請求,如編輯帖子和其他東西,Yii doesn'請記住用戶,就像用戶從未登錄過的一樣。
現在我需要在應用程序中保存哪些信息並與每個請求一起發送,以便Yii知道此用戶之前已登錄。
這是我和我的登入請求發送的信息:從Yii的Android驗證用戶

ArrayList<NameValuePair> nameValuePair = new ArrayList<NameValuePair>(); 
nameValuePair.add(new BasicNameValuePair("email", signinEmail.getText().toString())); 
nameValuePair.add(new BasicNameValuePair("password", signinPassword.getText().toString())); 
HttpRequest siginRequest = new HttpRequest(); 
JSONObject signinResult = siginRequest.post("users/signin", nameValuePair); 

請幫助我,因爲它的駕駛我瘋狂:(

回答

1

看來你試圖通過http進行通信,也就是說,通過網絡端口號80進行通信。看看How to do HTTP authentication in android?,其中涵蓋了一個你想要做的事

如果您堅持使用鍵/值對將證書附加到每個http請求使用SharedPreferences更有條理地滿足您的目的。所以,一旦你從響應獲取這些值,將它們與存儲:

SharedPreferences apiVals = getSharedPreferences("credentials", MODE_PRIVATE); 
apivals.edit() 
    .putString("authToken", authToken) 
    .putString("Session", SessionId) 
    .commit(); 

對於檢索:

SharedPreferences apiVals = getSharedPreferences("apiVals", MODE_PRIVATE); 
String authToken = apiVals.getString("authToken", null); 
0

的Yii保存在服務器上的$ _SESSION變量信息(也可能是cookies,但我無法確定)但你沒有保存它。

+0

我已經配置了將信息保存在會話,但我需要我的要求發送什麼信息? –