Android - 授权的最佳做法

问题描述 投票:1回答:2

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

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

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

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

android accountmanager
2个回答
2
投票

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

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

1
投票

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

在此输入图像描述

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

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

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

只是一个提示,尝试将您的问题分成更小的问题,这使人们更容易回答。

© www.soinside.com 2019 - 2024. All rights reserved.