繁体   English   中英

Flutter 集团登录

[英]Flutter Bloc Login

使用 dart 语言(颤振)登录时遇到一个小障碍,我通过向 API 请求用户名和密码登录但错误的用户名/密码仍然可以登录。 这就是为什么?

抱歉,我尝试发布源代码,但发布任务时总是出错,因此我通过屏幕截图发送。

源代码登录页面: SS登录页面

和源代码登录块: SS登录块

因为您在登录请求后导航用户。 您正在将事件 ( LoginSubmit ) 添加到 BLoC,然后在不进行操作检查的情况下导航到 Dashboard。 您需要检查身份验证,如果身份验证成功,请导航到下一个屏幕。

在您的登录页面中,以下行需要移动到您处理 state 更改的地方

Navigator.push(context, MaterialPageRoute(builder: (context) => Dashboard()))

应该有一个地方有一个监听器或某种 stream 构建器来处理 state 更改。 所以你应该有类似的东西,

...
builder: (BuildContext context, LoginState state){
    ...
    if(state is LoginSuccess){
       Navigator.push(context, MaterialPageRoute(builder: (context) => Dashboard()));
    }
    else if(state is LoginFailed){
       // Show a snackbar with the reason for the failure. 
       // You could use scaffold or an external library depending on your preference
    }
    ...
}
...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM