Skip to content

Commit f0e5850

Browse files
authored
Merge pull request #22592 from abpframework/auto-merge/rel-9-1/3623
Merge branch rel-9.2 with rel-9.1
2 parents 411f7e8 + 4250f37 commit f0e5850

File tree

1 file changed

+11
-3
lines changed

1 file changed

+11
-3
lines changed

npm/ng-packs/packages/core/src/lib/guards/permission.guard.ts

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import {
77
} from '@angular/router';
88
import { HttpErrorResponse } from '@angular/common/http';
99
import { Observable, of } from 'rxjs';
10-
import { tap } from 'rxjs/operators';
10+
import { filter, take, tap } from 'rxjs/operators';
1111
import { AuthService, IAbpGuard } from '../abstracts';
1212
import { findRoute, getRoutePath } from '../utils/route-utils';
1313
import { RoutesService, PermissionService, HttpErrorReporterService } from '../services';
@@ -32,9 +32,13 @@ export class PermissionGuard implements IAbpGuard {
3232
requiredPolicy = routeFound?.requiredPolicy;
3333
}
3434

35-
if (!requiredPolicy) return of(true);
35+
if (!requiredPolicy) {
36+
return of(true);
37+
}
3638

3739
return this.permissionService.getGrantedPolicy$(requiredPolicy).pipe(
40+
filter(Boolean),
41+
take(1),
3842
tap(access => {
3943
if (!access && this.authService.isAuthenticated) {
4044
this.httpErrorReporter.reportError({ status: 403 } as HttpErrorResponse);
@@ -61,9 +65,13 @@ export const permissionGuard: CanActivateFn = (
6165
requiredPolicy = routeFound?.requiredPolicy;
6266
}
6367

64-
if (!requiredPolicy) return of(true);
68+
if (!requiredPolicy) {
69+
return of(true);
70+
}
6571

6672
return permissionService.getGrantedPolicy$(requiredPolicy).pipe(
73+
filter(Boolean),
74+
take(1),
6775
tap(access => {
6876
if (!access && authService.isAuthenticated) {
6977
httpErrorReporter.reportError({ status: 403 } as HttpErrorResponse);

0 commit comments

Comments
 (0)