Im Blog dieser Woche werden wir uns auf das wichtige Thema der Authentifizierung konzentrieren. Zur Veranschaulichung unserer Diskussion werden wir das Beispiel einer Anwendung verwenden, die für die Erstellung der jährlichen Leistungsbeurteilung von Mitarbeitern entwickelt wurde. Diese Anwendung ermöglicht den Benutzern einen sicheren Zugriff auf ihre Konten, indem sie sich mit ihrer E-Mail und ihrem Kennwort authentifizieren.
Anwendung zur Leistungsbeurteilung
Überblick über die Authentifizierung
Die Authentifizierung ist ein Eckpfeiler jeder Webanwendung, da sie sicherstellt, dass nur autorisierte Benutzer auf sensible Informationen zugreifen oder bestimmte Aktionen durchführen können. In unserem Beispiel ist der Login-Prozess einfach, aber effektiv und zeigt, wie 4D Qodly Pro die Authentifizierung sicher und effizient handhabt.
Der Login-Prozess
Das Login-Formular befindet sich auf der „Login“-Seite und besteht aus:
- Zwei Eingabefelder, die mit der E-Mail-Adresse und dem Passwort der Datenquelle verknüpft sind.
- Eine Schaltfläche „Anmelden“: löst den Authentifizierungsprozess aus.
In Qodly Studio sind weitere vorgefertigte Formularvorlagen für die Login-Funktionalität im entsprechenden Vorlagenbereich verfügbar. Diese Vorlagen können an die spezifischen Anforderungen Ihrer Anwendung angepasst werden.
Funktion: authentify()
Wenn der Benutzer auf die Schaltfläche „Anmelden“ klickt, wird die Funktion „ds.authentify()“ mit der E-Mail und dem Passwort als Parameter aufgerufen.
Die Informationen des Benutzers, wie E-Mail und Passwort, werden in der Datenbank in der Tabelle „Employee“ gespeichert. In der Funktion „authentify()“ wird eine einfache Datenbankabfrage durchgeführt, um die Informationen zu überprüfen.
Der folgende Code veranschaulicht diesen Vorgang:
exposed Function authentify($email: Text; $password: Text) : Text
$employee :=This.Employee.query("Email = :1"; $email).first()
If ($employee#Null)
If (Verify password hash($password; $employee.Password))
Session.setPrivileges("Benutzer")
Web Form .setMessage("Authentifizierung erfolgreich")
Else
Web Form .setError("Authentifizierung fehlgeschlagen")
End if
Else
Web Form .setError("Authentifizierung fehlgeschlagen")
End if
Verwalten von Benutzerprivilegien
Vor der Authentifizierung eines Benutzers ist es wichtig, den Zugriff auf sensible Daten und Funktionen zu beschränken. Diese Sicherheit wird durch die Verwaltung von Berechtigungen gewährleistet.
Zunächst gibt es ein Privileg mit der Bezeichnung „none“, das alle Rechte für die Datenquelle (ds) besitzt und damit einen umfassenden Zugriff auf die Datenbank gewährleistet. Dieses Privileg wird keinem Benutzer zugewiesen, so dass eine sichere Umgebung gewährleistet ist. Wenn einem Privileg Rechte gewährt werden, werden sie automatisch allen anderen entzogen, wodurch das System effektiv gesichert wird.
Dann haben wir ein Privileg namens „authentifizieren“ hinzugefügt. Das Recht „promote“ wird der Funktion „ds.authentify()“ zugewiesen. Das bedeutet, dass bei jedem Aufruf dieser Funktion das Privileg „authentify“ automatisch angewendet wird.
Anschließend stellen wir sicher, dass die erforderlichen Berechtigungen für die Authentifizierung zu den entsprechenden Datenklassen oder Funktionen hinzugefügt werden. In unserem Beispiel weisen wir der Datenklasse „Employee“ die Berechtigungen „Read“ und „Execute“ zu.
Schließlich aktivieren wir die Option„Anmeldung erzwingen„. Mit dieser Option können Sie die Anzahl der geöffneten Websitzungen, die 4D Client Lizenzen erfordern, kontrollieren. Sie können den Benutzer auch jederzeit abmelden, um die Anzahl der verbleibenden Lizenzen zu verringern.
Dieses mehrstufige Berechtigungssystem hilft, unbefugten Zugriff zu verhindern und den sicheren Betrieb der Anwendung zu gewährleisten.
Weitere Informationen finden Sie in unserem Blog-Beitrag: Erzwungenes Login wird Standard für alle REST Auth.
Hinzufügen einer Abmeldefunktion
Um die Benutzerfreundlichkeit und die Sicherheit zu verbessern, ist es wichtig, eine Abmeldeoption bereitzustellen. In unserem Beispiel:
- Ein Logout-Button wird in der oberen rechten Ecke der „Main“-Seite platziert.
- Die Aktion „Abmelden“ wird zu dieser Schaltfläche im Ereignis „Bei Klick“ hinzugefügt.
So können Benutzer ihre Sitzung sicher beenden, wobei alle aktiven Berechtigungen gelöscht und sensible Daten geschützt werden.
Nächste Schritte
Authentifizierung und Berechtigungsverwaltung sind für die Entwicklung sicherer Webanwendungen von grundlegender Bedeutung. Um die Möglichkeiten der Authentifizierung und Rechteverwaltung weiter zu erforschen, lesen Sie die folgenden Ressourcen:
- Dokumentation über:
- Blogs zu:
Wir ermutigen Sie, diese Konzepte in Ihren eigenen Anwendungen zu implementieren. Haben Sie Fragen oder Anregungen? Beteiligen Sie sich an der Diskussion im Forum oder teilen Sie Ihr Feedback in den Kommentaren unten mit. Bleiben Sie dran für den nächsten Artikel in unserer Serie!