android – Flutter:如何处理需要身份验证的屏幕?

我正在构建一个Flutter应用程序,其中某些屏幕可以显示给匿名用户,而其他屏幕则需要用户登录.

对于经过身份验证的屏幕,如果用户未登录,他们应自动导航到(推送)登录屏幕.用户会话可以随时到期,如果用户正在查看其中一个经过身份验证的屏幕,则应显示登录屏幕那时候马上就来了.

在Flutter中,如何在用户未经过身份验证时实现自动导航到登录屏幕/从登录屏幕导航的已验证屏幕的概念?

最佳答案 目前,对于Authentification和Authentified路线没有任何影响.

问题是dart:mirror被禁用,这阻止了更自动化的解决方案.

你可以尝试:

>在MaterialApp的routes属性中放置匿名路由
>将Authentified路由放在MaterialApp的onGenerateRoute属性中

并确保在onGenerateRoute内部记录用户.如果是的话,建立那条路线.如果没有,请构建Login路由,并将原始目标作为参数传递(以便稍后重定向到该页面)

代码生成器也可能是一个很好的解决方案;虽然比较复杂.

点赞