簡體   English   中英

在Yii中從android驗證用戶身份

[英]authenticate users from android in Yii

我有這個android應用,用戶可以從中登錄和注冊Yii
登錄和注冊工作正常,但是當我發送其他請求(例如編輯帖子等)時,Yii不會記住該用戶,就像該用戶從未登錄過一樣。
現在,我需要將哪些信息保存在應用程序中並隨每個請求一起發送,以便Yii知道該用戶之前已登錄。
這是我隨登錄請求發送的信息:

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);

請幫助我,因為它使我發瘋:(

看來您正在嘗試通過http(例如80)端口在網絡上進行通信。 看看如何在Android中進行HTTP身份驗證? 涵蓋了您想要做的一件事。

如果您堅持使用鍵/值對將憑據附加到每個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);

Yii將信息保存在服務器上的$ _SESSION變量中(並且可能保存在cookie中,但我無法確定),但是您沒有保存該信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM