Mehrbenutzer

Sie kennen Gladys noch nicht :smirk:

Das Rechtesystem wird zwangsläufig notwendig werden, aber nicht zwingend.
Man muss es vertiefen, aber ich sehe die Dinge so:

Bei meiner Hausautomatisierung möchte ich keine Rechte direkt pro Benutzer verwalten
Ich möchte trotzdem mehrere Profile haben

  • Der Admin: Der Gladys-Gott, der alles kontrollieren/konfigurieren kann
  • Der normale Benutzer (nein, ich habe nicht meine Frau gesagt): Kann alles kontrollieren, interessiert sich aber nicht für die Konfiguration
  • Die Kinder: Sie haben Zugang zu einem eigenen Dashboard
  • Gäste: Kontrolle und Informationen nur für bestimmte Räume

Okay, ich bin dabei :smiley:

Ich bin derselben Meinung wie du :slight_smile:

Die Idee, verschiedene „Profile“ statt einer zu feinen Verwaltung zu erstellen, könnte eine gute Lösung sein!

Ich denke auch, dass vorgefertigte Profile ein guter Weg sind, um nicht in alle Richtungen zu gehen.

Danach, wird die Möglichkeit, die Rechte der verschiedenen Profile zu verwalten, dem Administrator gegeben?

Hallo zusammen!

Ich denke, ich habe die Mehrbenutzerfunktion in Gladys 4 fertig:partying_face:

In dieser ersten Iteration gibt es 2 Benutzertypen:

  • Admin: Er hat alle Zugriffe auf Gladys.
  • Benutzer: Ein « einfacher » Benutzer, der keinen Zugriff auf die Gladys-Konfiguration hat.

Benutzerverwaltung

Auf der Seite « Einstellungen » => « Benutzer » finde ich als Administrator alle Benutzer meiner Gladys-Instanz.

Wenn ich auf "Neu + " klicke, kann ich einen Benutzer erstellen:

Einen bestehenden Benutzer, seine Einstellungen oder sein Passwort bearbeiten:

Die Rolle « Benutzer »

Als Benutzer sieht mein Dashboard so aus:

Das Dashboard, das ich sehe, ist mein eigenes Dashboard. Ich kann es bearbeiten, und das betrifft nur mein Konto.

Ich habe keinen Zugriff auf die Einstellungen:

Ich habe keinen Zugriff auf die Konfigurationsintegrationen, ich habe nur Zugriff auf die « persönlichen » Integrationen: Telegram und Kalender:

Auf der Telegram-Seite wird nur der Teil « Telegram-Konto verknüpfen » angezeigt, es ist nicht möglich, den API-Schlüssel zu bearbeiten:

Der PR

Der PR ist hier verfügbar: Multi-users in Gladys Assistant by Pierre-Gilles · Pull Request #1050 · GladysAssistant/Gladys · GitHub

Sagt mir, was ihr davon haltet :slight_smile:

Alles ist noch änderbar, zögert nicht!

Ich beende die letzten Änderungen an Netatmo und teste das morgen.

Die erste Frage, die mir einfällt, ist, ob es möglich ist, den Kontotyp zu ändern? In meinem Kopf würde das es ermöglichen, die Schaltfläche „Bearbeiten“ im Dashboard zu entfernen, aber trotzdem die Möglichkeit zu haben, sie vorher oder in Zukunft zu konfigurieren, indem man sie in „Admin“ umstellt, um die Änderungen vorzunehmen, und sie dann wieder in „Benutzer“ zurückzustellen, für die normale Nutzung.

Trop classe der Multi-User… :+1:

@Terdious warum willst du deinem User die Möglichkeit nehmen, sein eigenes Dashboard nicht zu ändern? Alle sensiblen Einstellungen und Informationen sind versteckt…

@Jean34: In Bezug auf einige der zuvor genannten Punkte hast du im Menü „Bearbeiten“ des Dashboards Zugriff auf alle erstellten Geräte, insbesondere z. B. auf das Öffnen/Schließen der Schranke, die Rollläden, die Heizungssteuerung usw. Wenn du also ein Benutzerprofil für dein Kind oder einen Gast erstellst und möchtest, dass diese Person keinen Zugriff auf solche Befehle hat, dann kannst du das im Moment nicht verhindern.
Wenn es einfach und schnell umzusetzen ist, warum nicht gleich von Anfang an? Wenn es dagegen komplexer ist, kann es natürlich bis zu einem Update warten. Es ist bereits ein sehr schöner Fortschritt für Gladys ^^.

@Terdious Alle Funktionen, die ich entwickelt habe, sind in den Screenshots, die ich hochgeladen habe. :slight_smile:

Für die detaillierte Verwaltung des Zugriffs auf bestimmte Geräte, wie oben erwähnt, wird dies eine separate Funktion sein, die priorisiert und von dieser Funktion getrennt wird:

Ich habe den PR getestet, es funktioniert gut.

Es gibt nur eine Sache, die ich etwas seltsam finde (technisch weiß ich, warum es so ist)

Ich setze einen Admin anstelle eines normalen Benutzers, der einen Benutzer bearbeitet. Ich finde es seltsam, dass es zwei Speichern-Buttons gibt (einen für den Benutzer und einen für die Einstellungen)

Egal, ob ich einen, den anderen oder beide bearbeite, es sollte nur einen Button geben.
Wenn du beide bearbeitest, aber nur die Einstellungen speicherst, musst du es nochmal machen (weil du es nicht sofort bemerkst und dich wahrscheinlich dafür verfluchst, zu dumm gewesen zu sein, den anderen Speichern-Button nicht zu drücken).

Danke für dein Feedback!

Und stört dich das Zurücksetzen des Passworts nicht?

Ich wollte eigentlich drei separate Abschnitte haben, um diese drei Dinge zu aktualisieren, und ohne dass die Aktualisierung eines Abschnitts die anderen aktualisiert. Um die drei klar zu trennen :slight_smile:

Findet ihr das sonst auch unklar, wie @VonOx?

Nein, denn das ist eine separate Aktion.

Aber warum sind die Einstellungen denn nicht separat? ^^

Das war die ursprüngliche Idee, für mich sind die Einstellungen anders als das Profil :slight_smile:

Wenn man der Logik folgt, bearbeitet man hier den Benutzer. Daher muss die Bearbeitung der Einstellungen woanders erfolgen.

Was ich damit sagen will, ist, dass es egal ist, ob es sich um eine Einstellung oder das Profil handelt. Ich bearbeite einen Benutzer, ich speichere (einmal). Ein normaler Benutzer interessiert sich nicht für den Unterschied zwischen den beiden, er will einfach nur das Backup speichern, das ist ihm egal.
Wenn man an Einfachheit denkt, ist es ein Speichern-Button. Zwei Buttons sind eine Fehlerquelle/Quelle für Vergessen. (und die Frustration, die das verursachen kann)

Wenn es zwei Operationen sind, die man trennen will, dann müssen es zwei verschiedene Ansichten sein.

@VonOx Ich habe den Prozess zur Entfernung des doppelten Speicherbereichs verbessert, jetzt gibt es nur noch einen Ort:

Ich habe auch ein ScrollToTop hinzugefügt, wenn das Profil gespeichert wird, sowie eine Anzeige, dass der Benutzer erfolgreich gespeichert wurde.

Ich habe eine Beschreibung der Rolle hinzugefügt, damit es klar ist.

Ansonsten habe ich die UI weiter verfeinert und einen leeren Zustand hinzugefügt, wenn die Suche nichts zurückgibt:

Außerdem ist es nicht möglich, das eigene Konto zu löschen (das verhindert Fehler :p):

Ich habe die API-Sicherheit verstärkt, indem ich den Zugriff auf bestimmte sensible Routen der Dienste blockiert habe.

Ich denke, dass wir in Bezug auf die Funktionalität ein gutes Niveau erreicht haben! :slight_smile:

Ich bin offen für jedes weitere Feedback, ansonsten merge ich das schnell :rocket:

Okay, ich habe den Multi-User-Modus in den Master gemerged! Ich werde einen Dev-Build erstellen, damit ihr dieses Wochenende testen könnt :slight_smile:

Edit: Build läuft gerade hier: https://github.com/GladysAssistant/Gladys/actions/runs/582250233

Die Funktion wurde in Gladys v4.1.0 :partying_face: veröffentlicht