1

我正在研究如何在 Android 应用程序中对用户进行身份验证和授权

对于 autentication 有 AccountManager 但我不知道如何检查用户是否登录。我知道如何设置 AccountAuthenticatorActivity 和 AuthenticatorService 但我不确定它是如何与应用程序连接的。

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

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

4

2 回答 2

2

这取决于您的应用程序,真的。除非您对安全性有非常严格的要求,例如金融应用程序、政府应用程序等。我认为您可以通过更简单的方法来解决问题。例如,在用户登录后(无论您选择如何实现),在 SharedPreferences 中存储一个值以表示用户已通过身份验证。从这里,您可以执行以下操作之一:

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

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

在此处输入图像描述

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

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

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

只是一个提示,试着把你的问题分解成更小的问题,这样人们更容易回答。

于 2013-06-25T17:36:55.677 回答