Server stirbt bei Zuordnung User - Paket

  • Moin,


    nach langer Zeit mal wieder ich ;)
    Nun wollte ich ein Paket nur für einen User zulassen. Reproduzierbar stirbt der Server aber bei folgendem Vorgehen:

    • Paket hochladen
    • Benutzerberechtigung hinzufügen

    Paket- und Username sind korrekt. Berechtigung ist $v > 0.9.9.


    Die Kommandozeile gibt folgende Meldung aus:


    Ich muss den Eintrag manuell aus der auth.json löschen, damit ich den Server wieder starten kann. Und das Obige passiert auch mit anderen Paketen.



    Zusatzfrage:
    Bisher bin ich davon ausgegangen, dass man sich mit den WCF-Daten beim Server (links oben) anmelden kann. Das funktioniert aber nicht. Ist das bzw. wie ist es korrekt?

  • Ergänzungen:


    Bei der Zuordnung Gruppe - Paket

    • stürzt der Server nicht ab,
    • kann sich User mit den WCF-Daten anmelden,
    • kann man das Paket aber nicht über ACP und die Webseite downloaden.
    • Official Post

    Hallo,

    Bisher bin ich davon ausgegangen, dass man sich mit den WCF-Daten beim Server (links oben) anmelden kann. Das funktioniert aber nicht. Ist das bzw. wie ist es korrekt?

    das sollte gehen. Der Nutzername ist aber case-sensitiv.


    Zu deiner Frage: Kannst du mir einmal die generierte auth.json zeigen (modulo Passwörter, die brauche ich nicht).

  • Ohne Zuordnung Paket - Benutzer (tester - com.uz.page.test)

    Code
    {
    	"users": {
    		"admin": {"passwd":"...","groups":["group-1","group-3","group-4"],"packages":[]},
    		"tester": {"passwd":"...","groups":["group-1","group-3"],"packages":[]},
    		"zaydo": {"passwd":"...","groups":["group-1","group-3"],"packages":[]}
    	},
    	"groups": {
    	},
    	"packages": {"com.uz.wbb.bookmark":"$v > 0.9.9","com.uz.wcf.usermap":"$v > 0.9.9"}
    }


    Mit Zuordnung Paket - Benutzer:


    Code
    {
    	"users": {
    		"admin": {"passwd":"...","groups":["group-1","group-3","group-4"],"packages":[]},
    		"tester": {"passwd":"...","groups":["group-1","group-3"],"packages":{"com.uz.page.test":"$v > 0.9.9"}},
    		"zaydo": {"passwd":"...","groups":["group-1","group-3"],"packages":[]}
    	},
    	"groups": {
    	},
    	"packages": {"com.uz.wbb.bookmark":"$v > 0.9.9","com.uz.wcf.usermap":"$v > 0.9.9"}
    }


    Mit zusätzlicher Gruppenzuordnung:


    98% der User habe ich rausgenommen. Einträge waren valide; wie tester oben nur mit anderen Namen/PWs. Dito Pakete.


    Ergänzung: Nach Löschen der Gruppenberechtigung im ACP verschwindet diese nicht aus der auth.json. Sollte sie aber wohl?!?

    • Official Post

    Hallo,


    aus dem Stehgreif konnte ich es gerade nicht reproduzieren. Werde morgen nochmal einen Blick darauf werfen. Du könntest in der Zeit ermitteln, welche Version genau bei dir läuft (und wenn es irgendwas zwischen der 2.1.0 Beta 1 und der aktuellen Version im git ist: updaten), es ist definitiv nicht die 2.1.0-beta.1, da passen die Zeilennummern nicht.

  • Meine app.coffee war auf Stand Ende Juli 15. Ich habe jetzt mal alles upgedatet, aber es ändert sich nichts. Nutzer-Berechtigung => Absturz.



    Code
    # app.use (req, res, next) ->
    #	res.set 'wcf-update-server-api', '2.0 2.1'
    #	res.set 'wcf-update-server-ssl', if config.ssl then "true" else "false"
    #	do next

    Ist übrigens weiterhin auf Anraten auskommentiert, weil es damit Probleme gab. Ändert aber auch nichts.


    Aber immerhin funktionieren nun Anmeldung und Dateizugriff bei einer Gruppen-Berechtigung. Allerdings gibt es damit wieder ein kleines Problem:
    Wird ein User aus der berechtigten Gruppe entfernt, wird das zwar korrekt in die auth.json übernommen. Aber trotzdem hat er nach Anmeldung noch Zugriff auf die Datei - auch wenn der Browser geschlossen wird und er sich neu anmelden muss.
    Welcher Mechanismus sollte greifen, damit das nicht der Fall ist?

    • Official Post

    Hallo,

    Meine app.coffee war auf Stand Ende Juli 15. Ich habe jetzt mal alles upgedatet, aber es ändert sich nichts. Nutzer-Berechtigung => Absturz.

    https://github.com/wbbaddons/T…9a12075bd3a1aab51e47aa944

    Ist übrigens weiterhin auf Anraten auskommentiert, weil es damit Probleme gab. Ändert aber auch nichts.

    Das hat darauf keinen Einfluss, das setzt nur ein HTTP-Header.

    Welcher Mechanismus sollte greifen, damit das nicht der Fall ist?

    Wird die Konfiguration korrekt neu geladen? Die interne Datenstruktur wird bei jeder Änderung der Konfiguration komplett ersetzt, da sollten eigentlich keine Reste verbleiben.

  • Der Fix hat geholfen.


    Wird die Konfiguration korrekt neu geladen? Die interne Datenstruktur wird bei jeder Änderung der Konfiguration komplett ersetzt, da sollten eigentlich keine Reste verbleiben.

    Nicht in toto.
    Die Gruppen der Benutzer werden korrekt geändert. Beim Löschen einer Berechtigung wird die Berechtigung, egal ob Benutzer und Gruppe, aber nicht gelöscht. Fügt man allerdings ein neue Berechtigung hinzu, werden die alten nicht konfigurationskonformen gelöscht. Zum Löschen muss also immer eine neue hinzugefügt werden. Zeitintensiv ;)