Преглед изворни кода

timeout autologoff enhancements

tigger пре 1 година
родитељ
комит
ea5bd1aa90
2 измењених фајлова са 10 додато и 4 уклоњено
  1. 9 3
      src/app/app.component.ts
  2. 1 1
      src/config/config.json

+ 9 - 3
src/app/app.component.ts

@@ -1,5 +1,5 @@
 import { Component, HostListener, OnInit } from '@angular/core';
-import { Router, RouterModule, RouterOutlet, RoutesRecognized } from '@angular/router';
+import { ActivatedRoute, Router, RouterModule, RouterOutlet, RoutesRecognized } from '@angular/router';
 import { MatModule } from '../dependencies/angularlib/mat.module';
 import { Angularlib } from 'angularlib/angularlib.module';
 import { BaseComponent, untilDestroy } from 'angularlib/base.component';
@@ -15,6 +15,7 @@ import { Notification } from 'angularlib/notification/notification.actions';
 import { generateId } from 'angularlib/base.service';
 import { Store } from '@ngxs/store';
 import config from '../config/config.json';
+import { UIAuthActions } from 'angularlib/login/state/login.actions';
 
 @Component({
   selector: 'app-root',
@@ -45,7 +46,11 @@ export class AppComponent extends BaseComponent implements OnInit {
   private stopTimeout$ = new Subject();
   private timeout = timer(this.duration).pipe(
       map(() => {
-        if(this.loginService.user)this.loginService.logout();console.warn('session inactive timeout, logging out...');
+        if(this.loginService.user){
+          console.warn('session inactive timeout, logging out...');
+          this.store.dispatch(new UIAuthActions.RedirectAfterLogin(this.route.snapshot));
+          this.loginService.logout();
+        }
       }),
       takeUntil(this.stopTimeout$),
       repeat({delay:() => this.startTimeout$})
@@ -63,7 +68,8 @@ export class AppComponent extends BaseComponent implements OnInit {
     protected loginService: LoginService,
     /**Platform Browser title */
     protected pbTitle: Title,
-    protected cs: ComponentService
+    protected cs: ComponentService,
+    private route: ActivatedRoute
   ) {
     super(store,cs);
   }

+ 1 - 1
src/config/config.json

@@ -7,5 +7,5 @@
             "origin": "https://swopt.com:4205"
         }
     },
-    "sessionTimeoutDuration":600000
+    "sessionTimeoutDuration":18000
 }