Android - 授权的最佳做法

时间:2013-06-25 16:52:30

标签: android accountmanager

我正在研究如何在Android应用程序中验证和授权用户

对于身份验证,有AccountManager,但我不确定如何检查用户是否已登录。我知道如何设置AccountAuthenticatorActivity和AuthenticatorService,但我不确定它与应用程序的关联。

我是否应该在每项活动中对每个onCreate进行一些检查以确保用户已登录或该服务是否以某种方式为我做了这个?

如果我应该做一些定期检查,那么应该调用这种检查的最佳做法是什么?

2 个答案:

答案 0 :(得分:2)

这取决于你的应用程序,真的。除非您需要非常严格的安全性,例如财务应用程序,政府应用程序等,我认为您可以通过更简单的方法获得。例如,在用户登录后(但是您选择实现此操作)在SharedPreferences中存储一个值以表示用户已经过身份验证。从这里,您可以执行以下操作之一:

  1. 如果您的应用程序要求您验证启动的每个活动/片段,只需检查此SharedPreferences值。您还可以创建一个基本活动,其他所有活动都会扩展,并在那里进行身份验证检查。
  2. 如果您只需要进行一次身份验证,请在清单中修改启动器活动以检查此值。如果用户已经过身份验证,请为“主页”活动创建新的Intent并重定向您的用户并完成()启动器活动。

答案 1 :(得分:1)

一如既往,这取决于。你需要保护整个应用程序吗?或某些特定活动或某些活动中的某些片段。看看Mint app。

enter image description here

它要求用户输入密码以访问应用程序。对于类似的事情,创建一个基本活动,并使您的应用程序中的所有活动继承这一点,并在基本活动中进行检查。

  • 如果您只需保护一些活动,请创建基本活动 只是为了这些活动,并在那里进行安全检查。

  • 如果是某个活动的某些部分,则必须汇总特定于您工作流程的内容。

只是提示,尝试将问题分成更小的问题,让人们更容易回答。