29 lines
671 B
TypeScript
29 lines
671 B
TypeScript
import { Injectable } from "@angular/core";
|
|
import { Router } from "@angular/router";
|
|
import { HttpErrorResponse } from "@angular/common/http";
|
|
|
|
@Injectable({
|
|
providedIn: "root",
|
|
})
|
|
export class PageSecurityService {
|
|
constructor(private router: Router) {}
|
|
|
|
public gotoLoginPage() {
|
|
this.router.navigate(["/login"]);
|
|
}
|
|
|
|
public checkPageSecurityError(httpError: HttpErrorResponse) {
|
|
if (!httpError || httpError.status == null) {
|
|
throw new Error("Invalid http error object.");
|
|
}
|
|
|
|
if (httpError.status === 401) {
|
|
this.gotoLoginPage();
|
|
}
|
|
|
|
if (httpError.status === 403) {
|
|
this.router.navigate(["/accessDenied"]);
|
|
}
|
|
}
|
|
}
|