java - 在 Yii 中对 Android 用户进行身份验证

标签 java php android authentication 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)在网络上进行通信。看看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);

关于java - 在 Yii 中对 Android 用户进行身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27552956/

相关文章:

java - Eureka/Discovery 服务与路由

java - 使用 jsch 和 sftp 读取远程文件 - 失败 4

java - java中的Amerpsand格式标志

PHP MySQL 垂直表

php - FQL 错误 102 需要用户 session 进行重复查询

javascript - 数据库兼容倒计时

android - 从自定义应用程序主题设置 android 窗口标题栏图标

android - TextToSpeech.Engine.ACTION_INSTALL_TTS_DATA 的 IntentNotFoundException

java - 如何使用 Scheme/Lisp/Clojure 解决 Matrix/LP 问题?

Android 平板电脑无法通过 USB 端口找到 USB 设备,但可以通过 OTG 线找到 USB 设备