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.

Мodule Auth by AppMaster.io

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.

User and User Session

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;

Delete User in AppMaster

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);

Update User

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);

Create User

DB: Soft Delete User – aktualisiert das DeletedAt-Attribut des User-Objekts und belässt es in der Datenbank;

Soft Delete User

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;

Bulk Delete User

DB: Patch User – aktualisiert die angegebenen Felder des Benutzerobjekts in der Datenbank (um alle Felder zurückzusetzen, verwenden Sie den Block DB: Update User);

Patch User

DB: Benutzer suchen – findet ein oder mehrere Benutzerobjekte in der Datenbank basierend auf Feldern und gibt sie zurück;

Search User

DB: GetOne User – findet das User-Objekt in der Datenbank anhand seiner ID und gibt es zurück;

GetOne User

Benutzer erweitern — gibt alle Felder des ausgewählten Benutzerobjekts zurück;

Expand User

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);

Make User

  • Benutzersitzungsmodell

DB: Benutzersitzung löschen – entfernt das Benutzersitzungsobjekt aus der Datenbank anhand der übergebenen ID;

Delete User Session

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);

Update 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);

Create User Session

DB: Soft Delete User Session – aktualisiert das DeletedAt-Attribut des User Session-Objekts und belässt es in der Datenbank;

Soft Delete User Session

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;

Bulk Delete User Session

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);

Patch User Session

DB: Search User Session – findet ein oder mehrere User Session-Objekte in der Datenbank basierend auf Feldern und gibt sie zurück;

Search User Session

DB: GetOne User Session — findet das User Session-Objekt in der Datenbank anhand seiner ID und gibt es zurück;

GetOne User Session

Benutzersitzung erweitern — gibt alle Felder des ausgewählten Benutzersitzungsobjekts zurück;

Expand User Session

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);

Make User Session

  • Auth-Modul

Auth: Generate Auth Token – generiert ein Autorisierungstoken (Auth Token) einer bestimmten Länge;

Generate Auth Token

Auth: Registrierung — registriert einen neuen Benutzer;

Auth: Registration

Auth: Autorisierung – prüft, ob das Auth-Token im System vorhanden ist, und gibt den damit verknüpften Benutzer zurück;

Auth: Authorization

Auth: Authentification – prüft den Login und das Passwort des Benutzers und gibt ein Auth-Token zurück;

Auth: Authentification

Auth: Logout – Akzeptiert ein Auth-Token und beendet die aktuelle Benutzersitzung;

Auth: Logout

Auth: Aktuellen Benutzer abrufen — gibt die Daten des aktuellen Benutzers zurück;

Auth: Get current user

Auth: Benutzer aus der Gruppe entfernen — entfernt einen Benutzer aus der angegebenen Gruppe anhand seiner ID (definiert in den Einstellungen des Auth-Moduls);

Auth: Remove user from group

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: Add user to the group

Auth: Hash Password – Konvertieren einer Passwortzeichenfolge in einen Hash;

Auth: Hash Password

Auth: Restore Password — akzeptiert den Benutzernamen und das neue Passwort des Benutzers und setzt es dadurch zurück;

Auth: Restore Password

Auth: Change Password — ersetzt das aktuelle Benutzerpasswort durch ein neues;

Auth: Change Password

Auth: Probe Password – Überprüfung von Passwort und Hash-Abgleich;

Auth: Probe Password

Die Endpunkte des Authentifizierungsmoduls und die Benutzer- und Benutzersitzungsmodelle werden automatisch generiert, wenn das Projekt erstellt wird.

Auth-Modul

Anfragetyp Endpunkt Verbundener Blutdruck
post type /Ausloggen/ Auth: Abmelden
post type /auth/ Auth: Authentifizierung
post type /registrieren/ Auth: Registrierung
get type /bestätigen Sie/ Auth: Registrierung
put type /Benutzer/Passwort ändern Auth: Passwort ändern
post type /user/restore-passwort/ Auth: Passwort wiederherstellen
get type /Benutzerprofil/ Auth: Autorisierung

Benutzer

Anfragetyp Endpunkt Verbundener Blutdruck
put type /Benutzeridentifikation/ DB: Benutzer aktualisieren
delete type /Benutzeridentifikation/ DB: Benutzer löschen
get type /Benutzeridentifikation/ DB: GetOne-Benutzer
get type /Benutzer/ DB: Suchbenutzer
patch type /Benutzeridentifikation DB: Patch-Benutzer
post type /Benutzer/ DB: Benutzer erstellen

Benutzersitzung

Anfragetyp Endpunkt Verbundener Blutdruck
delete type /user-session/:id/ DB: Benutzersitzung löschen
get type /user-session/:id/ DB: GetOne-Benutzersitzung
get type AppMaster /Benutzersitzung/ DB: Benutzersitzung suchen
patch type AppMaster /user-session/:id/ DB: Patch-Benutzersitzung
post type AppMaster /Benutzersitzung/ DB: Benutzersitzung erstellen
put type AppMaster /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:

  1. Get Auth Token gibt die Auth der aktuellen authentifizierten Benutzersitzung zurück;
    Get Auth Token returns the Auth of the current authenticated user session
  2. Set Auth Token überschreibt den Auth Token der aktuellen Sitzung des autorisierten Benutzers;
    Set Auth Token
  3. Auth- Token entfernen löscht Auth-Token der aktuellen Sitzung des autorisierten Benutzers;
    Remove Auth Token

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://ws.apms.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.

Editing existing user groups

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.

Access to pages in the web application

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.

Access to pages in the web application 2

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.