Blue sky and clouds

Was versteht man unter Angular Route-Guards?

Was versteht man eigentlich unter Angular Route-Guards?

Die Guards sagen dem Router, ob eine Route aufgerufen werden kann oder nicht.  Von den Guards gibt es verschiedene Typen, die in einer bestimmten Reihenfolge aufgerufen werden und das Verhalten des Routers beeinflussen.

CanActivate
Überprüft, ob ein Benutzer eine Route besuchen kann.

CanActivateChild
Überprüft, ob ein Benutzer eine Route für Kinder besuchen kann.

CanDeactivate
Prüft, ob ein Benutzer eine Route verlassen kann.

Resolve
Führt den Abruf von Routendaten vor dem Routen-Wechsel durch.

CanLoad
Überprüft, ob ein Benutzer zu einem Modul weitergeleitet werden kann, bei lazy loading

Guards werden als Service implementiert, die auch im Modul unter den Providern eingetragen werden müssen. Außerdem liefern sie „true“ zurück, wenn eine Route aufgerufen werden kann oder „false“ wenn nicht.

Screenshot vom Code des Module Providers
Module Providers

Auth-Guard-Service

Unser AuthGuardService implementiert das “CanActivate” Interface und liefert „true“ zurück, wenn der User erfolgreich eingeloggt ist. Ansonsten wird zu dem Login-Formular weitergeleitet.
Die Abfrage, ob der User eingeloggt ist, erfolgt über den eingeschleusten UserService.

Screenshot vom Code des Auth-Guard-Service
Auth-Guard-Service

User Service

In unserem Beispiel liefert der UserService bei der Methode „isLoggedIn“ immer „true“ zurück. Dies kann natürlich zum Testen auch auf „false“ gesetzt werden oder gleich mit der richtigen Logik versehen werden.

Screenshot vom Code des User-Service
User-Service

Routen

In der folgenden Abbildung sieht man die Definition unserer Routen für das TimeTracking Module. Die Route „timetracking“ kann nur aufgerufen werden, wenn der AuthGuard „true“ zurück liefert und die Route „timetracking/controlling“ kann nur aufgerufen werden, wenn der RoleGuard „true“ zurück gibt.

Screenshot vom Code der Definition der Routen
Definition der Routen

Role Guard

Beim „RoleGuard“ wird überprüft, ob die Rolle im localstorage der definierten Rolle in der Route entspricht, welche in unserem Fall „admin“ ist und der User eingeloggt ist.

Screenshot vom Code der Role Guard
Role Guard

Security

Ein wichtiger Punkt ist natürlich die Sicherheit, deswegen sollten die Daten nie in Klartext in den „localstorage“ geschrieben werden, sondern immer mit einer Library wie JSON Web Tokens (https://jwt.io) verschlüsselt werden. Sobald der User manuelle Änderungen vornimmt, verliert der Token dann seine Gültigkeit. Sensible Daten sollten natürlich immer Backend-seitig abgesichert werden.

novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog 22.03.18

Angular 5 Custom Filter in Angular Material Data-Table

In diesem Blogbeitrag will ich euch darlegen, wie man einen Custom Filter für das Angular Material Data-Table Modul erstellt.

Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog 28.05.18

Struktureller Aufbau eines Angular Modules

Dieser Blogbeitrag beschäftigt sich mit dem strukturellen Aufbau eines Angular Modules und der Kommunikation der einzelnen Komponenten.

novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog 30.10.19

Testen von Angular Anwendungen mit Cypress

Cypress ist ein End-to-End Testing Framework, mit dem man einfache Tests erstellen kann, die in Echtzeit ausgeführt werden. Mit Cypress kann man auch Snapshots von den einzelnen Schritten während der Testausführung sehen. Tests können schnell erstellt werden, ohne dass bestimmte Server oder Driver benötigt werden.

Bild einer Farbmuster-Karte
Referenz

Muster-Straub: Webshop mit SharePoint-Integration

Um Bestellungen und Versand effizienter und einfacher zu gestalten entwickelte novaCapta für das Unternehmen eine ganzheitliche Webshop-Lösung mit Hilfe des ASP.NET MVC-Frameworks.

novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Referenz

Siemens AG: SharePoint statt Excel bei komplexen Formularen

Siemens ersetzt komplexe Excel-Tabellen für die Verwaltung und Auswertung der Projekt- und Arbeitsstunden durch intuitive SharePoint-Anwendung – für mehr Übersicht und einfache Bedienung.

Online survey filling out and digital form checklist by laptop computer, Document Management Checking System, online documentation database and process manage files
Referenz

Siemens AG: Steuerung von Zulassungsverfahren per SharePoint

Auf Basis von JavaScript & Microsoft SharePoint entwickelte novaCapa für Siemens eine webbasierte Anwendung, über die das Zulassungsverfahren von medizinischen Geräten effizient gesteuert werden kann.

Blue sky and clouds
Blog 04.06.14

Hat Ihr Unternehmen einen Informations-Lebenszyklus?

Jede Information hat eine Aktualitätsphase, eine Nachschlag-Phase, eine Archiv-Phase und einen Obsoleszenz-Punkt. Steuern Sie den Lebenszyklus Ihrer Informationen?

Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog 20.12.18

Ich bin im Flow! – Eine Übersicht zu Microsoft Flow

Die Power Platform wird aktuell von Microsoft sehr stark gepusht. Zeit, sich mit dem Potenzial der einzelnen Komponenten zu beschäftigen. Heute: Flow.

Team of programmers working in office
Blog 26.08.21

Was Sie beim nächsten IT-Projekt beachten sollten

Unternehmen sind in ihrer digitalen Transformation erfolgreicher, wenn sie bei der Umsetzung auf ein wirksames Change Management setzen. Wie der Wandel gelingt, verrät Nora Sommer, Senior Business Consultant bei der novaCapta, im Interview.

novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog 12.07.18

Nutzung der SharePoint REST API mit Microsoft Flow

Durch Zugriffe über die REST API lassen sich viele Vorgänge mit Microsoft Flow automatisieren.

Zwei Frauen schauen gemeinsam auf einen Bildschirm
Blog 05.07.16

Xamarin – plattformübergreifende App-Entwicklung

Xamarin ist eine übergreifende Entwicklungsplattform, die die Welten zusammenführt und die bislang erforderliche Mehrarbeit weitgehend überflüssig macht.

Hands of man using online virtual app on mobile phone. Millennial guy chatting on smartphone, using banking services, reading text message, typing, shopping, making call, browsing internet. Close up
Blog 09.05.19

Teams Extensions – Erstellen von Erweiterungen für Teams

Mit der Entwicklung von Extensions kann Teams einfach erweitert werden. Hierfür gibt es das App Studio, welches über den Teams Store installiert werden kann.

Zwei Frauen schauen gemeinsam auf einen Bildschirm
Blog 27.11.18

Tipps und Tricks mit Entity Framework

In diesem Blogbeitrag möchte ich einige Tipps und Tricks rund um Entity Framework mit euch teilen. In allen Beispielen gehen wir vom Code-First Ansatz aus.

News der novaCapta
Blog 22.08.18

Zentralisiertes Logging – Simpler Logging-Stack mit Graylog

Logging ist ein komplexes und doch essenzielles Thema. Gute Logs vereinfachen einem Supporter die Arbeit und ermöglichen es, Probleme schneller einzugrenzen.

novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog 13.05.14

SharePoint und Informationsarchitektur – worauf kommt es an?

Wie definiert sich eine Informationsarchitektur und die Rolle eines Informationsarchitekten im SharePoint-Umfeld?

Drei Personen in einer Besprechung an einem Tisch besprechen den Zeitplan auf ihrem Microsoft-Laptop
Blog 17.07.19

Die Bedeutung einer Governance

In der Governance-Struktur legen Sie fest, wie Sie mit Ihrer SharePoint-Umgebung arbeiten. Governance beschreibt die Rollen der Nutzer und legt Verantwortlichkeiten fest.

Blue sky and clouds
Blog 31.01.18

Grundlagen der Datenmodellierung

Fachliches Modell mit ER-Diagrammen (auch ERM – Entity Relationship Model)

News der novaCapta
Blog 19.09.17

Der wiederholte Bereich in Nintex Forms

Nintex für Fortgeschrittene

novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog 11.12.15

Migration IBM Lotus Notes zu Microsoft SharePoint

Eine Migration von Lotus Notes/Domino nach SharePoint/Exchange besteht grundsätzlich aus mindestens zwei Bereichen.

novaCapta: Ihr Partner für die digitale Transformation mit Microsoft Technologien
Blog 19.08.16

Braucht man wirklich jQuery?

Ich beleuchte diese Frage anhand von Beispielen aus der Praxis und hinterfrage, ob in der modernen Browserlandschaft auch natives JavaScript ausreicht.