Android - 让用户登录

时间:2014-04-12 14:43:32

标签: java php android mysqli

我尝试使用PHP和MySQLi for Android进行登录。 我不明白的是如何让用户登录?我看到一个简单的教程,其中有人使用SQLite来获取安全信息,但我不知道这是否真的是安全的。 我应该如何保存用户信息以保持用户登录?

谢谢。

2 个答案:

答案 0 :(得分:7)

使用android中的SharedPreferences

当您的登录使用

存储数据时
SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0); // 0 - for private mode
Editor editor = pref.edit();
//on the login store the login
editor.putLong("key_name", "long value"); 
editor.commit();

检索密钥的数据

pref.getString("key_name", "");
                            ^
   default value if the user is not loggedin

注销时清除数据

editor.remove("name");
editor.commit();

请参阅此Link了解更多

答案 1 :(得分:0)

我不确定 PHP 应用程序中的登录过程。如果它使用身份验证令牌管理登录,则保存身份验证令牌。如果它不使用任何基于令牌的身份验证,则意味着您可能正在通过会话管理登录。您可能需要在那里保存用户 ID 和密码。

现在,为了安全地保存此类数据,我更喜欢 Android Jetpack 中的 Encrypted Shared Preferences

String masterKeyAlias = MasterKeys.getOrCreate(MasterKeys.AES256_GCM_SPEC);
     
SharedPreferences sharedPreferences = EncryptedSharedPreferences.create(
           "secret_shared_prefs",
           masterKeyAlias,
           context,
           EncryptedSharedPreferences.PrefKeyEncryptionScheme.AES256_SIV,
           EncryptedSharedPreferences.PrefValueEncryptionScheme.AES256_GCM
       );
// use the shared preferences and editor as you normally would
SharedPreferences.Editor editor = sharedPreferences.edit();

您还可以使用不可预测的密钥来确保您的数据更安全。