Angular - Authguard & Auther Service - Observable всегда возвращает истинностьC#

Место общения программистов C#
Anonymous
 Angular - Authguard & Auther Service - Observable всегда возвращает истинность

Сообщение Anonymous »

Я пытаюсь защитить свои маршруты, мои использующие аугарды. Authguard вызовет AuthService, к которому будет доступ, и API, чтобы проверить, что пользователь принадлежит определенной группе AD.

Код: Выделить всё

 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 });

}
}
Я попытался удалить метод ObseraVle, чтобы вернуть логическое значение, но для того, чтобы AuthService работал, вам нужно, чтобы он был замечен. />


Подробнее здесь: https://stackoverflow.com/questions/794 ... eturn-true

Вернуться в «C#»