diff --git a/demo-shell/src/app/app.routes.ts b/demo-shell/src/app/app.routes.ts
index dc5b0df286..04e813e791 100644
--- a/demo-shell/src/app/app.routes.ts
+++ b/demo-shell/src/app/app.routes.ts
@@ -57,11 +57,16 @@ import { ServiceTaskListCloudDemoComponent } from './components/cloud/service-ta
import { AspectListSampleComponent } from './components/aspect-list-sample/aspect-list-sample.component';
import { SearchFilterChipsComponent } from './components/search/search-filter-chips.component';
import { ForgotPasswordComponent } from 'lib/core/src/lib/forgot-password/forgot-password.component';
+import { ForgotPasswordRuleGuard } from 'lib/core/src/lib/forgot-password/forgot-password-guard';
export const appRoutes: Routes = [
{ path: 'login', loadChildren: () => import('./components/login/login.module').then(m => m.AppLoginModule) },
{ path: 'logout', component: LogoutComponent },
- { path: 'forgot-password', component: ForgotPasswordComponent },
+ {
+ path: 'forgot-password',
+ component: ForgotPasswordComponent,
+ canActivate: [ForgotPasswordRuleGuard]
+ },
{
path: 'settings',
loadChildren: () => import('./components/settings/settings.module').then(m => m.AppSettingsModule)
diff --git a/lib/core/src/lib/forgot-password/forgot-password-guard.ts b/lib/core/src/lib/forgot-password/forgot-password-guard.ts
new file mode 100644
index 0000000000..e2421b73c5
--- /dev/null
+++ b/lib/core/src/lib/forgot-password/forgot-password-guard.ts
@@ -0,0 +1,40 @@
+/*!
+ * Copyright © 2005-2023 Hyland Software, Inc. and its affiliates. All rights reserved.
+ *
+ * Alfresco Example Content Application
+ *
+ * This file is part of the Alfresco Example Content Application.
+ * If the software was purchased under a paid Alfresco license, the terms of
+ * the paid license agreement will prevail. Otherwise, the software is
+ * provided under the following open source license terms:
+ *
+ * The Alfresco Example Content Application is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * The Alfresco Example Content Application is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * from Hyland Software. If not, see .
+ */
+
+import { Injectable } from '@angular/core';
+import { CanActivate, ActivatedRouteSnapshot } from '@angular/router';
+import { Observable } from 'rxjs';
+import { AuthenticationService } from '@alfresco/adf-core';
+
+@Injectable({
+ providedIn: 'root'
+})
+export class ForgotPasswordRuleGuard implements CanActivate {
+ constructor(private authService: AuthenticationService) {}
+
+ canActivate(_: ActivatedRouteSnapshot): Observable | Promise | boolean {
+ return this.authService.isECMProvider();
+ }
+
+}