Angular 2 So wenden Sie mehrere Wächter mit or-Beziehung auf demselben Pfad an

10

Meine Anwendung ermöglicht den Zugriff auf Inhalte basierend auf Benutzerrollen. Ich habe einen Router Guard für jede Rolle geschrieben. Einige Inhalte erlauben den Zugriff für Rolle1 oder Rolle2 oder Rolle3. Wie sollte ich diese canActivate-Deklaration in die Datei feature-routing.module.ts schreiben? Wie ich es verstehe, wenn ich schreibe

%Vor%

Der Zugriff wird verweigert, wenn einer der Wächter false zurückgibt. Aber in meinem Fall sollte ich den Zugang erlauben, wenn einer der Wächter die Wahrheit erwidert. Wie es geht? Vielen Dank im Voraus!

    
Nicole Naumann 01.04.2017, 23:20
quelle

2 Antworten

1

In diesem Fall können Sie einen Master Guard erstellen, der die Anwendungswächter gemäß unseren Anforderungen auslöst.

Checkout diese Antwort, um den Ansatz zu verstehen.

Angenommen, Sie haben den obigen Link durchlaufen, könnte der Ansatz in diesem Fall so einfach sein wie die Änderung der Eigenschaft data in der Klasse Route .

So etwas -

%Vor%

Und dann operator flag verwenden, um alle Wachen entsprechend auszulösen.

Ich hoffe, das hilft:)

    
Manoj Chalode 07.12.2017, 15:36
quelle
1

Sie könnten OrGuard schreiben, etwas wie:

%Vor%

und benutze es so:

%Vor%

... nur eine Idee, tatsächliche Umsetzung könnte anders sein, ich habe es nicht versucht (;

    
Sasxa 01.04.2017 23:33
quelle