2010-11-23 47 views
0

我正在开发一个使用其API的Web应用程序的Android前端。Android - 以安全的方式存储用户帐户是否为专业版

如果用户是“专业人士”,此Android应用程序将公开一些额外的功能。

因此,我需要Android应用程序来获取帐户是否为专业人员的信息。这是在获取令牌时完成的。换句话说,当Android应用程序通过API向Web应用程序请求令牌时,Web应用程序还会提供一个表示用户是否为专业人员的标志。

当Android应用获取一条信息,它存储在SharedPreferences,就像这样:

this.sharedPreferencesEditor.putBoolean(Account.PRO_ACCOUNT, isPro).commit(); 

那么Android应用程序读取值来决定某个功能是否可用给该用户。

现在,我的问题是:这种方法很容易破解?我的意思是,即使不是专业用户,一些聪明的用户是否可以解决这个系统并获得专业功能?怎么可能做到这一点?

你可以建议一个更好的系统来实现它吗?

谢谢,

回答

2

偏好被存储在一个文件中,并且容易阅读。

您需要的是为特定用户生成的pro令牌。由于这是一个Web应用程序并且处于联机状态,因此在服务器上创建此类标记并且稍后通过将其发送到服务器进行验证并不困难。

+0

但是这意味着Android应用程序需要有可用的Internet连接来检查帐户是否为专业版。情况并非总是如此。 – dan 2010-11-23 13:28:17

相关问题