Hier ist mein Winkelcode für das Routing in app.module.ts Datei.Verwenden von Winkelschutz 2. Wie man den Benutzer beim Aktualisieren der Seite angemeldet hält?
const appRoutes: Routes = [
{path: '', component: LoginformComponent},
{path: 'dashboard', component: DashboardComponent, canActivate: [AuthenticationGuard]},
{path: 'user', children: [
{path: '', component: UserComponent},
{path: ':id', component: UserdetailComponent}
], canActivate: [AuthenticationGuard]
},
{path: '**', component: NotfoundComponent}
];
Und folgende Code repräsentieren die Guard-Datei.
export class AuthenticationGuard implements CanActivate {
constructor(private user: UserService, private router: Router) {}
canActivate(next: ActivatedRouteSnapshot, state: RouterStateSnapshot): boolean {
if (! this.user.getUserLoggedIn()) {
this.router.navigate(['/']);
}
return this.user.getUserLoggedIn();
}
}
Guard funktioniert gut, wenn ich mich als Benutzer angemeldet ist. Aber im Falle einer Aktualisierung logge mich aus. Ich möchte eine Methode, mit der ich mich auch nach dem Aktualisieren der Seite im System anmelden kann?
Dies ist die Datei service.ts Benutzer,
@Injectable()
export class UserService {
private isUserLoggedIn: boolean;
private username: string;
constructor() {
this.isUserLoggedIn = false;
}
setUserLoggedIn(username) {
this.isUserLoggedIn = true;
this.username = username;
}
getUserLoggedIn() {
return this.isUserLoggedIn;
}
getUserName() {
return this.username;
}
}
Kann mir jemand helfen ..........
können Sie Logik von this.user.getUserLoggedIn() teilen? –
@VolodymyrBilyachat Ich habe gerade meine Frage bearbeitet. – LSampath