Angular - AuthGuard & Auth Service - Beobachtbar immer zurückgebenC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 Angular - AuthGuard & Auth Service - Beobachtbar immer zurückgeben

Post by Anonymous »

Ich versuche meine Routen zu schützen, die meine Authuards verwenden. Der AuthGuard ruft den AuthService auf, auf den zugegriffen wird, und die API, um zu überprüfen, ob der Benutzer zu einer bestimmten Anzeigengruppe gehört.

Code: Select all

 import { Router, ActivatedRouteSnapshot, RouterStateSnapshot, CanActivate } from '@angular/router';
import { Injectable, inject } from '@angular/core';
import { AuthService } from '../shared/auth.service';

export class AuthorisedUserGuard implements CanActivate {

constructor(private authService: AuthService, private router: Router, private route: ActivatedRouteSnapshot) { }

async canActivate() {

let result = await this.authService.isAuthorisedUser(this.route.data['role']).toPromise();
if (!result) {
this.router.navigate(['/unauthorised'])
}
return true;
}
}

AuthService:

export class AuthService {

constructor(private router: Router, private http: HttpClient) {
}

URL_Config: Configuration = new Configuration();
public accessGranted: boolean = false;
public route: string = "";

isAuthorisedUser(role: string): Observable {
this.route = role;
let apiURL = `${this.URL_Config.URL}/api/UserAccess/checkUserAccess?route=${this.route}`;
return this.http.get(apiURL, { withCredentials: true });

}
}
Ich habe versucht, die Obseravle -Methode zu entfernen, um den booleschen Wert zurückzugeben, aber damit AuthService funktioniert, müssen Sie ihn beobachtbar sein. />

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post