Hallo,
gibt es irgendeine Funktion oder Ansatz, eine unterschiedliche Berechtigung für Benutzer zu realisieren?
z. B. Raumbedienfunktion nur für eigene Räume. Leseberechtigung für globale Funktionen.
Kann man sowas realisieren? Der Zugriff auf FHEM müsste grundsätzlich für keinen normalen Benutzer freigegeben sein.
Es würde evtl. ausreichen den Zugriff auf das Frontend mit einer Anmeldung zu versehen?
Oder ist das eigentlich nicht vorgesehen?
Schöne Grüße
Christian
Mehrere WEB's definieren und mit "allowed" spielen :)
Muesste theoretisch auch mit einer FHEMWEB Instanz und mehreren alloweds funktionieren.
Da scheitere ich an der Systematik :-[
Wenn ich einen neuen allowed definiere, dann übernimmt er die Einstellung sofort und ich habe mich bis auf das Gerät abgeschossen.
define allowed_user allowed
attr allowed_user basicAuth user password
attr allowed_user validFor WEB
attr allowedDevices GERAET_USER
Nachdem ich das allowedDevices angelegt habe, habe ich nur noch darauf Zugriff. Obwohl ich mit dem User angemeldet bin, der keine Beschränkungen hat.
In der Voreinstellung werden die Einschraenkungen (allowedDevices, allowedCommands) "aufaddiert", das ist aus Kompatibilitaetsgruenden so.
Wenn man das Aufaddieren nicht moechte (was bei unterschiedlichen Zugangsdaten natuerlich ist), dann muss man fuer jede allowed Instanz "allowedIfAuthenticatedByMe 1" setzen.
Die aktuelle Voreinstellung sollte vmtl. geaendert werden.
Die allowedIfAuthenticatedByMe Voreinstellung wird ab dem naechsten FHEM Release (6.1) 1 sein.
Danke, für eure Hilfe, so funktionierts! ::)
define user_xyz allowed
attr user_xyz allowedCommands set,get
attr user_xyz allowedDevices DEVICE
attr user_xyz allowedIfAuthenticatedByMe 1
attr user_xyz basicAuth user passwort
attr user_xyz validFor WEB
Das allowedIfAuthenticatedByMe 1 muss man bei allen alloweds machen, damit die Berechtigung nicht auf alle übergeht.
Damit keine Änderungen an der Konfiguration durchgeführt werden können allowedCommands set,get.
Mit allowedDevices die Geräte festlegen die freigegeben sind.
Schönen Abend
Christian
Achtung Kopierer:
- "attr user_xyz basicAuth user passwort" geht so einfach nicht, siehe commandref.
- statt dieses Attribut direkt zu setzen empfehle ich "set user_xyz basicAuth user passwort", was zwar im Endefffekt auch nur das basicAuth Attribut setzt, aber der Inhalt kann ohne Weiteres veroeffentlicht werden, da es ein SHA Hash von Salt+Benutzername+Passwort ist.