Heim > Artikel > Web-Frontend > Wie kann ich zwei AngularJS-Anwendungen mit unterschiedlichen Authentifizierungsanforderungen sicher kombinieren?
AngularJS-Anmeldeauthentifizierung mit UI-Router
Szenario:
Sie müssen zwei kombinieren AngularJS-Anwendungen in einer mit unterschiedlichen Authentifizierungsanforderungen: der Home-Bereich zum Anmelden und Registrieren und der Dashboard-Bereich für authentifizierte Benutzer.
Lösung
Erstellen Sie einen Identitätsdienst:
Dieser Dienst verwaltet die Identität des Benutzers, einschließlich des Authentifizierungsstatus und wichtiger Informationen wie Anzeigename und Rollen.
Autorisierungsdienst:
Dieser Dienst prüft, ob der Benutzer authentifiziert und berechtigt ist, auf den angeforderten Status zuzugreifen. Bei Bedarf wird zur Seite „Anmeldung“ oder „Zugriff verweigert“ weitergeleitet.
Statusänderungen verarbeiten:
Auf Statusänderungen achten und Autorisierungsprüfungen durchführen Nutzung des Autorisierungsdienstes. Dadurch wird sichergestellt, dass der Benutzer ordnungsgemäß authentifiziert ist, bevor der Statusübergang abgeschlossen ist.
Identität im übergeordneten Status auflösen:
Konfigurieren Sie einen übergeordneten Status für gesamten Antrag und lösen dort die Identität auf. Dadurch wird sichergestellt, dass die Identität aufgelöst wird, bevor Authentifizierungsprüfungen durchgeführt werden.
Bedingte Umleitung zu Staaten:
Verwenden Sie Dateneigenschaften in Zustandskonfigurationen zur Angabe die erforderlichen Rollen für den Zugriff. Nicht authentifizierte Benutzer werden auf die Anmeldeseite umgeleitet, und nicht autorisierte Benutzer werden auf eine Seite mit verweigertem Zugriff weitergeleitet.
Prinzipal in den Controller einfügen:
Injizieren Sie den Hauptdienst in den Controller, um den Authentifizierungsstatus oder die Rollenmitgliedschaft in der Ansicht zu überprüfen.
Das obige ist der detaillierte Inhalt vonWie kann ich zwei AngularJS-Anwendungen mit unterschiedlichen Authentifizierungsanforderungen sicher kombinieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!