0

我想在应用程序中有一个用户配置文件系统;这个应用程序绝对没有敏感数据。我知道如何在保护用户密码/用户名等方面进行安全登录。但这是我的问题......一旦登录确认用户名/密码组合正确,我可以这样做:

使用 Sharedpreferences 设置一个从 0 到 1 的登录变量。当用户退出时,它会回到 0。所以应用程序中任何时候需要检查用户是否登录的功能时,它只检查用户的状态这个偏好变量。

这是一种安全的方式吗?或者,还有更好的方法?

(通常在 PHP 中我使用会话变量,不确定 Android 等效项是什么。)

4

1 回答 1

2

不要使用共享偏好,有太多可能出错的事情,例如您的应用程序 FC 或被 Android 杀死并且没有机会更新它们。

您可以覆盖 Application 类并使用静态值(可能是布尔值)来指示用户已登录。

这是一些伪代码,展示了如何覆盖应用程序。它类似于全局变量,但不要过度,将所有数据放在这里;)

public class MyApp extends Application{

    public static boolean isUserLoggedIn = false;
    ...

public void userLogin(){

   MyApp.isUserLoggedIn = true;
   ...

public void userLogout(){

   MyApp.isUserLoggedIn = false;
   ...

}

因为该字段是静态的并且初始化为 false,所以每次您的应用启动时,您都可以保证它是 false。唯一可行的方法是在您的应用程序中以代码设置。

您还需要将扩展​​类添加到清单中:

<application android:name=".MyApp" 
  ...
于 2012-08-08T17:32:34.410 回答