In diesem Artikel werden wir uns ansehen, wie die No-Code-Plattform AppMaster.io das Problem des Zugriffs auf Daten für Anwendungsbenutzer löst.
Dies geschieht durch die Einführung von Rollen wie Benutzern, Moderatoren, Administratoren und anderen Anforderungen. Diese Lösung bietet mehr Flexibilität innerhalb Ihrer erstellten Anwendung und steuert den Zugriff auf Informationen und Funktionen innerhalb der erstellten Anwendung.
Der Artikel ist für alle nützlich, die in die Funktionalität der AppMaster.io-Plattform eintauchen und ihre Möglichkeiten in Bezug auf die Einstellungen für den Zugriff auf Daten nach Rollen sehen möchten.
Мodule Auth von AppMaster.io
Die Registrierung in der zusammengestellten Anwendung auf unserer Plattform wird durch das Auth-Modul dargestellt, mit dem Sie Benutzergruppen erstellen und bearbeiten und auf ihre Rechte zugreifen können. Das Auth-Modul ist bereits bei der Projekterstellung im Projekt vorinstalliert.
Verfügbare Auth-Modul-Einstellungen:
SignUp Groups – Liste der Benutzergruppen, die sich registrieren können;
SignUp – beinhaltet die Möglichkeit, sich in der Anwendung zu registrieren;
Sitzungs-Timeout (Minuten ) – die Zeit, nach der die aktuelle Benutzersitzung beendet wird, wenn der Benutzer inaktiv ist (in Minuten). Der Standardwert ist 60 Minuten;
Fehlgeschlagene Anmeldeverzögerung (in ms) – Verzögerungszeit für eine Serverantwort im Falle eines erfolglosen Anmeldeversuchs (in ms). Der Standardwert ist 0 ms;
E- Mail-Bestätigung erforderlich – eine Option, die eine Bestätigung per E-Mail beinhaltet, falls aktiviert;
Angemeldeter Benutzer aktiv – setzt das aktive Attribut für jeden registrierten Benutzer auf True .
Gruppen – Ermöglicht das Erstellen und Bearbeiten von Benutzergruppen.
AppMaster.io verwendet den Datenmodell-Designer , um mit Modellen zu arbeiten.
Benutzer und Benutzersitzung sind zwei Modelle, die automatisch im Datenmodell-Designer erstellt werden. Vorinstallierte Datenmodellfelder können nicht geändert oder gelöscht werden, aber neue können hinzugefügt werden.
Für diese Modelle werden auch automatisch Blöcke von Geschäftsprozessen (BP) erstellt.
Automatisch generierte BPs, die Benutzern und Benutzersitzungen zugeordnet sind
- Benutzermodell
DB: Benutzer löschen — Objekt Benutzer aus der Datenbank über ID löschen;
DB: Benutzer aktualisieren – setzt alle Felder des Benutzerobjektblocks zurück, die an die Eingabe in der Datenbank übergeben wurden, und aktualisiert sie gemäß den angegebenen Werten (um nur die angegebenen Felder zu ändern, wird der Block DB: Patch-Benutzer verwendet);
DB: Create User – speichert in der Datenbank und gibt das angegebene User-Objekt zurück (um es aus den angegebenen Feldern zu erstellen, verwenden Sie den Make User-Block);
DB: Soft Delete User – aktualisiert das DeletedAt-Attribut des User-Objekts und belässt es in der Datenbank;
DB: Bulk Delete User – Nimmt als Eingabe ein Array von IDs (ids) von Benutzerobjekten, die aus der Datenbank gelöscht werden;
failed_ids — ein Array von Benutzer-IDs, die nicht gelöscht werden;
DB: Patch User – aktualisiert die angegebenen Felder des Benutzerobjekts in der Datenbank (um alle Felder zurückzusetzen, verwenden Sie den Block DB: Update User);
DB: Benutzer suchen – findet ein oder mehrere Benutzerobjekte in der Datenbank basierend auf Feldern und gibt sie zurück;
DB: GetOne User – findet das User-Objekt in der Datenbank anhand seiner ID und gibt es zurück;
Benutzer erweitern — gibt alle Felder des ausgewählten Benutzerobjekts zurück;
Benutzer erstellen – erstellt aus den angegebenen Feldern ein neues Benutzerobjekt im Speicher und gibt es zurück (um das erstellte Objekt in der Datenbank zu speichern, verwenden Sie den Block DB: Benutzer erstellen);
- Benutzersitzungsmodell
DB: Benutzersitzung löschen – entfernt das Benutzersitzungsobjekt aus der Datenbank anhand der übergebenen ID;
DB: Update User Session – setzt alle Felder des User Session-Objekts zurück, die an den Eingabeblock in der Datenbank übergeben wurden, und aktualisiert sie gemäß den angegebenen Werten (um nur die angegebenen Felder zu ändern, verwenden Sie DB: Patch User Session);
DB: Create User Session – speichert in der Datenbank und gibt das angegebene User Session-Objekt zurück (um es aus den angegebenen Feldern zu erstellen, verwenden Sie den Make User Session-Block);
DB: Soft Delete User Session – aktualisiert das DeletedAt-Attribut des User Session-Objekts und belässt es in der Datenbank;
DB: Massenlöschung von Benutzersitzungen – akzeptiert als Eingabe eine Reihe von IDs von Benutzersitzungsobjekten, die aus der Datenbank gelöscht werden;
failed_ids — das Array definiert den Satz von IDs, die nicht entfernt werden;
DB: Patch User Session – aktualisiert die angegebenen Felder des User Session-Objekts in der Datenbank (um alle Felder zurückzusetzen, verwenden Sie den Block DB: Update User Session);
DB: Search User Session – findet ein oder mehrere User Session-Objekte in der Datenbank basierend auf Feldern und gibt sie zurück;
DB: GetOne User Session — findet das User Session-Objekt in der Datenbank anhand seiner ID und gibt es zurück;
Benutzersitzung erweitern — gibt alle Felder des ausgewählten Benutzersitzungsobjekts zurück;
Benutzersitzung erstellen — erstellt aus den angegebenen Feldern ein neues Benutzersitzungsobjekt im Speicher und gibt es zurück (um das erstellte Objekt in der Datenbank zu speichern, verwenden Sie den Block DB: Benutzersitzung erstellen);
- Auth-Modul
Auth: Generate Auth Token – generiert ein Autorisierungstoken (Auth Token) einer bestimmten Länge;
Auth: Registrierung — registriert einen neuen Benutzer;
Auth: Autorisierung – prüft, ob das Auth-Token im System vorhanden ist, und gibt den damit verknüpften Benutzer zurück;
Auth: Authentification – prüft den Login und das Passwort des Benutzers und gibt ein Auth-Token zurück;
Auth: Logout – Akzeptiert ein Auth-Token und beendet die aktuelle Benutzersitzung;
Auth: Aktuellen Benutzer abrufen — gibt die Daten des aktuellen Benutzers zurück;
Auth: Benutzer aus der Gruppe entfernen — entfernt einen Benutzer aus der angegebenen Gruppe anhand seiner ID (definiert in den Einstellungen des Auth-Moduls);
Auth: Benutzer zur Gruppe hinzufügen — fügt einen Benutzer anhand seiner ID (definiert in den Einstellungen des Auth-Moduls) zur angegebenen Benutzergruppe hinzu;
Auth: Hash Password – Konvertieren einer Passwortzeichenfolge in einen Hash;
Auth: Restore Password — akzeptiert den Benutzernamen und das neue Passwort des Benutzers und setzt es dadurch zurück;
Auth: Change Password — ersetzt das aktuelle Benutzerpasswort durch ein neues;
Auth: Probe Password – Überprüfung von Passwort und Hash-Abgleich;
Die Endpunkte des Authentifizierungsmoduls und die Benutzer- und Benutzersitzungsmodelle werden automatisch generiert, wenn das Projekt erstellt wird.
Auth-Modul
Anfragetyp | Endpunkt | Verbundener Blutdruck |
---|---|---|
/Ausloggen/ | Auth: Abmelden | |
/auth/ | Auth: Authentifizierung | |
/registrieren/ | Auth: Registrierung | |
/bestätigen Sie/ | Auth: Registrierung | |
/Benutzer/Passwort ändern | Auth: Passwort ändern | |
/user/restore-passwort/ | Auth: Passwort wiederherstellen | |
/Benutzerprofil/ | Auth: Autorisierung |
Benutzer
Anfragetyp | Endpunkt | Verbundener Blutdruck |
---|---|---|
/Benutzeridentifikation/ | DB: Benutzer aktualisieren | |
/Benutzeridentifikation/ | DB: Benutzer löschen | |
/Benutzeridentifikation/ | DB: GetOne-Benutzer | |
/Benutzer/ | DB: Suchbenutzer | |
/Benutzeridentifikation | DB: Patch-Benutzer | |
/Benutzer/ | DB: Benutzer erstellen |
Benutzersitzung
Anfragetyp | Endpunkt | Verbundener Blutdruck |
---|---|---|
/user-session/:id/ | DB: Benutzersitzung löschen | |
/user-session/:id/ | DB: GetOne-Benutzersitzung | |
/Benutzersitzung/ | DB: Benutzersitzung suchen | |
/user-session/:id/ | DB: Patch-Benutzersitzung | |
/Benutzersitzung/ | DB: Benutzersitzung erstellen | |
/user-session/:id/ | DB: Benutzersitzung aktualisieren |
Auth Token wird als aktuelles Sitzungstoken des autorisierten Benutzers verwendet. In der Webanwendung BP kann mit diesem Token interagiert werden:
- Get Auth Token gibt die Auth der aktuellen authentifizierten Benutzersitzung zurück;
- Set Auth Token überschreibt den Auth Token der aktuellen Sitzung des autorisierten Benutzers;
- Auth- Token entfernen löscht Auth-Token der aktuellen Sitzung des autorisierten Benutzers;
Das Beispiel zeigt, wie Sie den aktuellen Benutzer erhalten.
Gehen Sie dazu auf die Registerkarte Geschäftslogik und ziehen Sie den Block Auth: Aktuellen Benutzer abrufen.
Als nächstes wird ein Endpunkt für den erstellten BP erstellt, der verwendet wird, um den Server zu kontaktieren, um das Objekt des aktuellen Benutzers zu erhalten.
Wählen Sie die Benutzergruppe im Abschnitt Endpunkte aus und erstellen Sie eine GET-Anforderungsmethode für den neu erstellten Prozess, um den aktuellen Benutzer abzurufen.
Stellen Sie in der Webanwendung BP eine Anfrage an den erstellten Endpunkt (Serveranfrage GET /user_current), um den aktuellen Benutzer abzurufen.
Gruppen und Berechtigungen
Benutzergruppen werden in den Einstellungen des Auth-Moduls erstellt. Um zu den Moduleinstellungen zu gelangen, müssen Sie den Abschnitt Module öffnen und auf die Karte des entsprechenden Moduls klicken.
Die Registerkarte Gruppen enthält eine Liste aller vorhandenen Gruppen. Klicken Sie auf Neues Element hinzufügen, um eine neue Benutzergruppe zu erstellen. Im neuen modalen Fenster können Sie die Gruppe anpassen, eine Beschreibung, ein Symbol, eine Symbol- und Beschriftungsfarbe sowie ein Tag hinzufügen.
pMaster" data-mce-src="https://appmaster.io/api/_files/SRiacHHyULYU6EqLSbrp6e/download/">
Um bestehende Benutzergruppen zu bearbeiten, müssen Sie ebenfalls in die Einstellungen des Auth-Moduls gehen. Gehen Sie dazu in den Bereich Module und klicken Sie auf die Karte des entsprechenden Moduls. Als nächstes ist auf der Registerkarte Gruppen eine Liste von Gruppen verfügbar. Um sie zu bearbeiten, müssen Sie auf das Einstellungssymbol klicken. Im neuen modalen Fenster können Sie die Gruppe anpassen, ihre Beschreibung, das Symbol, die Symbol- und Beschriftungsfarbe sowie das Tag ändern.
Um die Rechte zum Lesen/Schreiben von Einträgen in der Datenbank für bestimmte Benutzergruppen zu ändern, wird die Middleware des Auth-Moduls verwendet.
Wählen Sie im Abschnitt Endpunkte den Endpunkt aus, dessen Lese-/Schreibberechtigungen Sie ändern möchten. Klicken Sie im gewünschten Endpunkt auf die Schaltfläche „Einstellungen“ und wechseln Sie im sich öffnenden modalen Fenster zur Registerkarte „Middleware“. Als nächstes richten Sie mit einem Klick auf Einstellungen bearbeiten in der Zeile Token Auth Middleware die Zugriffsrechte ein.
Zugriff auf Seiten in der Webanwendung: Sie müssen zur Webanwendung gehen und auf die Schaltfläche Einstellungen der Seite klicken, auf die Sie den Zugriff beschränken möchten.
Im Feld Für Gruppen anzeigen müssen Sie eine Liste von Benutzergruppen auswählen, die diese Seite anzeigen dürfen. Standardmäßig ist das Feld leer und der Zugriff wird allen Benutzerkategorien gewährt.
Fazit
Der Zugriff auf Daten nach Rollen ist eine bequeme Möglichkeit, Informationsflüsse für bestimmte Benutzergruppen zu organisieren. Mit der No-Code-Plattform AppMaster.io können Sie dieses Feature in einer Trial testen.
Wenn Sie von der Funktionalität beeindruckt sind, holen Sie sich unseren Professional-Plan, der diese Funktion, den Export von Binärdateien, regelmäßige Backups, Projektübertragungen und vieles mehr enthält. Wir erwarten Sie auf der AppMaster.io- Plattform, um selbst Ihre gewagtesten Projekte umzusetzen.