diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index d7e48efc62..61c261e727 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -5,6 +5,8 @@ import { } from '@angular/router'; import { AuthGuardService } from 'jslib/angular/services/auth-guard.service'; +import { lockGuardService } from 'jslib/angular/services/lock-guard.service'; +import { UnauthGuardService } from 'jslib/angular/services/unauth-guard.service'; import { HintComponent } from './accounts/hint.component'; import { LockComponent } from './accounts/lock.component'; @@ -20,8 +22,17 @@ import { VaultComponent } from './vault/vault.component'; const routes: Routes = [ { path: '', redirectTo: '/vault', pathMatch: 'full' }, - { path: 'lock', component: LockComponent }, - { path: 'login', component: LoginComponent }, + { + path: 'lock', + component: LockComponent, + canActivate: [lockGuardService], + }, + { + path: 'login', + component: LoginComponent, + canActivate: [UnauthGuardService], + + }, { path: '2fa', component: TwoFactorComponent }, { path: 'register', component: RegisterComponent }, { diff --git a/src/app/services.module.ts b/src/app/services.module.ts index d3caa7ce3e..99addf4e8d 100644 --- a/src/app/services.module.ts +++ b/src/app/services.module.ts @@ -19,6 +19,8 @@ import { I18nService } from '../services/i18n.service'; import { NativeMessagingService } from '../services/nativeMessaging.service'; import { AuthGuardService } from 'jslib/angular/services/auth-guard.service'; +import { UnauthGuardService } from 'jslib/angular/services/unauth-guard.service'; +import { lockGuardService } from 'jslib/angular/services/lock-guard.service'; import { BroadcasterService } from 'jslib/angular/services/broadcaster.service'; import { ValidationService } from 'jslib/angular/services/validation.service'; @@ -186,6 +188,8 @@ export function initFactory(): Function { providers: [ ValidationService, AuthGuardService, + UnauthGuardService, + lockGuardService, { provide: AuditServiceAbstraction, useValue: auditService }, { provide: AuthServiceAbstraction, useValue: authService }, { provide: CipherServiceAbstraction, useValue: cipherService },