diff --git a/src/portal/src/app/shared/route/member-guard-activate.service.ts b/src/portal/src/app/shared/route/member-guard-activate.service.ts index 2d823b12f..324c424aa 100644 --- a/src/portal/src/app/shared/route/member-guard-activate.service.ts +++ b/src/portal/src/app/shared/route/member-guard-activate.service.ts @@ -41,8 +41,19 @@ export class MemberGuard implements CanActivate, CanActivateChild { this.checkMemberStatus(state.url, projectId).subscribe((res) => observer.next(res)); } , error => { - this.router.navigate([CommonRoutes.HARBOR_DEFAULT]); - observer.next(false); + // if it is public project return true; + this.projectService.getProject(projectId).subscribe(project => { + if (project.metadata.public) { + observer.next(true); + } else { + this.router.navigate([CommonRoutes.HARBOR_DEFAULT]); + observer.next(false); + } + }, err => { + this.router.navigate([CommonRoutes.HARBOR_DEFAULT]); + observer.next(false); + }); + }); } else { this.checkMemberStatus(state.url, projectId).subscribe((res) => observer.next(res));