dart - 未登录时如何导航用户登录页面

标签 dart angular-dart

我有一个关于 angulardart 和登录流程的结构性问题。我有一个与服务器通信的服务,并且有 login()、logout()、loggedIn() 等方法。这一切在 angular 中都非常有效,但我正在寻找一种将登录流程合并到我的应用程序中的最佳实践方法。

该应用程序要求用户登录。那么当用户未登录时,我是否会在启动时重新路由到自定义“登录” View ?未登录时,我会切换主 index.html 的部分内容吗?我会创建一个自定义组件来处理登录吗?

这种情况是否有共同的角度模式?

最佳答案

我目前的解决方案是基于路由。我创建了用于登录和登录页面的 View 。当用户在登录页面并登录时,他将被路由到登录页面。当用户未通过身份验证并进入网站上的任何路径时,他将被重定向到登录页面。

这是 RouteInitializer:

  ..addRoute(
      name: 'signin',
      path: '/signin',
      enter: view('view/signin.html'))
  ..addRoute(
      name: 'dashboard',
      path: '/dashboard',
      defaultRoute: true,
      preEnter: _ensureAuthenticated,
      enter: view('view/dashboard.html'))  
_ensureAuthenticated()方法必须设置为 preEnter回调并评估登录状态:

  _ensureAuthenticated(RoutePreEnterEvent routeEvent) {
    if (!_userService.loggedIn) {
      routeEvent.allowEnter(new Future<bool>.value(false));
      _router.go('signin', {});
    }
  }

虽然这很好用,但 _ensureAuthenticated()方法必须设置为 preEnter每条路线的回调。有没有办法更轻松地捕捉 preEnter全局?在 root 上设置它路线不起作用。

关于dart - 未登录时如何导航用户登录页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21676813/

相关文章:

filter - AngularDart 自定义过滤器 call() 方法需要幂等吗?

dart - 角 Dart 组件初始化

android - 背景类似于 Flutter 中的 Container

dart - dart计时器定期文档令人困惑

dart - 有没有什么办法可以让标签栏固定在顶部,而工具栏会滚动?

dart - Angular 1.0 的 Angular Dart 教程。无法解决循环依赖

html - querySelector 似乎没有在 ng-container 中找到元素

flutter - Hummingbird(现在是 Flutter for web)计划发布。我应该停止学习 AngularDart 吗?

flutter - 未处理的异常 : RangeError (index): Index out of range: index should be less than

dart - flutter 引脚输入字段