Я работаю над веб-сайтом с Angular Dart, и я пытаюсь реализовать маршрутизацию, поэтому я определил следующие маршруты, как описано в документации:
class Routes {
static final login = RouteDefinition(
routePath: RoutePaths.login,
component: login_component.LoginComponentNgFactory,
useAsDefault: true
);
static final downloads = RouteDefinition(
routePath: RoutePaths.downloads,
component: download_component.DownloadComponentNgFactory
);
static final management = RouteDefinition(
routePath: RoutePaths.management,
component: management_component.ManagementComponentNgFactory,
);
static final objects = RouteDefinition(
routePath: RoutePaths.objects,
component: object_component.ObjectComponentNgFactory
);
static final reports = RouteDefinition(
routePath: RoutePaths.reports,
component: report_bug_component.ReportBugComponentNgFactory
);
static final settings = RouteDefinition(
routePath: RoutePaths.settings,
component: settings_component.SettingsComponentNgFactory
);
static final all = <RouteDefinition>[
login,
downloads,
management,
objects,
reports,
settings
];
}
Я установил страницу входа быть маршрутом по умолчанию, но я хочу запретить пользователям переходить по разным маршрутам до входа в систему. Поэтому, если пользователь переходит на URL / downloads до входа в систему, я хочу перенаправить их на страницу входа. Я читал, что это возможно в Angular Typescript, добавив CanActivate: [AuthGuard] к маршрутам, но это кажется невозможным с Angular Dart. Кто-нибудь знает другой способ добиться этого?