Android App:检查用户是否已登录每个Activity和Fragment onCreate回调?

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

建议我在每个Activity和Fragment onCreate回调中执行if(signed_user_id == null) { showErrorPopIn(); startSplashScreenActivity(); return; }(检查用户是否未登录,在这种情况下,我们显示错误,并将用户从Android应用重定向到启动画面,我们不会执行其余的“活动”和“片段”代码)。此代码将在onCreate方法的所有活动(当然是SplashScreen除外)和所有片段中使用。 cf.另一个SO问题(Check if user is logged in on every activity, or only at the beginning?)。

但是我发现它使代码更重,并且似乎没有用。确实:

  • 黑客可以更改活动代码和片段代码,因此删除此条件,对吗?

  • 而且最重要的是:检查用户是否已登录仅在服务器端有用,而在Android应用程序端无用。确实,关键点是对数据库的读写访问。但是,如果未连接的用户看不到片段或活动的图形部分,而该部分没有显示数据库中的任何内容,或者单击后不允许在数据库中进行任何修改,则我不予理give例如一个按钮。对?因此,最后我可以删除我在所有片段和活动中添加的所有if(signed_user_id == null)条件?

PS 1: signed_user_id大致就是FirebaseAuth::getInstance().getUser().getUId()

PS 2:如果我是对的,则意味着应编辑上述链接的SO问题的第一个答案,以向原始发布者表明,在Android应用程序端进行这些检查无用。

android security android-fragments android-activity firebase-authentication
1个回答
0
投票

我认为,如果您正在使用BaseActivity和BaseFragment来扩展所有活动和片段,那么它会容易得多,因此您只能在BaseActivity / BaseFragment oncreate方法中编写此代码。

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