inkonsistente Benutzergruppenberechtigungen in den Konversationen

  • Affected Version
    WoltLab Suite 3.1

    moin,


    mir ist aufgefallen, das es in den Berechtigungen der Benutzergruppen nicht durchgängig gesetzte Berechtigungen gibt.

    Ob dies ein Bug oder ein Feature sein soll, weiss ich nicht, jedoch stellt es u.U. eine Gefahr für die Abwehr von Spammern dar, wenn man nicht aufpasst.


    Wenn man nun in den Gruppeneinstellungen die Konversation deaktiviert, bleiben die jeweiligen Einstellungen wie z.b. "Kann neue Konversation starten" trotzdem aktiviert.

    Das wäre mir gar nicht aufgefallen, wenn ich das nicht über das Plugin "Effektive Benutzerrechte" gesehen hätte.

    Könnte das jemand bestätigen? Fall dem so ist, muss man bevor man die Konversation über "Kann Konversationen benutzen" auf nein stellt, erst alle anderen Punkte auf "nein" stellen.


    pfd

  • Dieses Verhalten tritt an diversen Stellen auf, ist bekannt und wird bisher von Woltlab nicht als Fehler angesehen.





    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier.

  • Leider muss man das so hinnehmen, finde auch das es ein Fehler ist. Wie norse sagt, woltlab sieht dies nicht als Fehler.

  • https://github.com/WoltLab/com…tionAddForm.class.php#L50

    https://github.com/WoltLab/com…ionListPage.class.php#L56

    https://github.com/WoltLab/com…rsationPage.class.php#L64


    Ohne die Berechtigung "Kann Konversationen nutzen" kannst du diese auch nicht nutzen, also auch keine Konversationen über das Formular erstellen.

    Ohne ConversationAction::$permissionsCreate sollte auch ein direkter AJAX-Request abgelehnt werden.

    https://github.com/WoltLab/WCF…ction.class.php#L276-L284

  • wird bisher von Woltlab nicht als Fehler angesehen

    nunja, wenn man es sich logisch überlegt, ist es definitiv ein Fehler, denn wenn ich die Konversation grundsätzlich deaktiviere, möchte ich auch nicht das jemand eine neue Konveration starten kann. Ansonsten ist das ja nur das entfernen der Buttons und sonst nix.

    Naja, da muss man halt auf der Hut sein.


    pfd

  • denn wenn ich die Konversation grundsätzlich deaktiviere, möchte ich auch nicht das jemand eine neue Konveration starten kann. Ansonsten ist das ja nur das entfernen der Buttons und sonst nix.

    Meinen Beitrag hast du vermutlich übersehen.

  • Wenn jemand prinzipiell keine Konversationen verwenden darf, hilft es ihm auch nicht, dass "Kann Konversationen starten" anscheinend erlaubt bleibt. Bevor man eine Konversation starten kann, wird an den erforderlichen Stellen geprüft, ob Konversationen überhaupt verwendet werden dürfen. Bildlich ausgedrückt: Was nützt Dir der WC-Schlüssel eines Einfamilienhauses, wenn Du keinen Haustürschlüssel hast?





    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier.

  • Auch hier wieder der Rat: Prüfe mit einem Testaccount, ob deine Einstellungen so greifen wie du es möchtest.

    Manche Einstellungen können einen verunsichern und nicht jeder versteht Sourcecode oder möchte sich damit auseinandersetzen.

    Gremlins sind harmloser als Trolle. Beide erzeugen nichts Gutes, aber Gremlins darf man folgenlos zumindest vor Mitternacht füttern!

  • WoltLab prüft in der Ansicht der Berechtigungen nicht die gesetzten Berechtigungen in den anderen Gruppen, sondern gibt nur die Werte aus der aktuell zu bearbeiteten Gruppe 1:1 aus. Erst bei der eigentlichen Berechtigungsabfrage werden die vererbten Berechtigungen mit ausgewertet.


    Dementsprechend kann ich durchaus verstehen das WoltLab es nicht als Fehler ansieht. Klar wäre es schön wenn es visuell mit abgebildet ist, allerdings verkompliziert dies die Logik der Erzeugung der Darstellung.


    Und wie MysteryCode schon schreibt: Aufgrund der Logik ist der Start einer neuen Konversationen nicht möglich insofern man die Konversationen nicht nutzen darf. „Jeder” könnte eine „Neue Konversation starten”, allerdings darf nur „Registrierte Benutzer” die „Konversationen benutzen”. (Um jetzt mal beim Beispiel zu bleiben.) Wenn ich die Konversationen schlichtweg nicht nutzen kann, kann ich auch keine Konversation starten.

  • Bevor man eine Konversation starten kann, wird an den erforderlichen Stellen geprüft, ob Konversationen überhaupt verwendet werden dürfen.

    Dann wird das bei mir nicht geprüft. Obwohl die die Konversation deaktivert habe kann ich Mitteilungen also Konversationen schreiben.


    pfd

  • Dass WoltLab etwas nicht als Fehler ansieht war in einem anderen Einstellungsbereich, der definitiv trotz Ausblendung Auswirkungen hatte.

    Das nur zur Erklärung, hat mit diesem Thema ansonsten nichts zu tun.

    Gremlins sind harmloser als Trolle. Beide erzeugen nichts Gutes, aber Gremlins darf man folgenlos zumindest vor Mitternacht füttern!

  • Obwohl die die Konversation deaktivert habe kann ich Mitteilungen also Konversationen schreiben.


    Zeigst Du bitte konkret, was Du wie eingestellt hast? Wir werden Deinen Fehler bestimmt finden.





    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier.

  • Obwohl die die Konversation deaktivert habe kann ich Mitteilungen also Konversationen schreiben.

    Laut deinem Screenshot darf die Gruppe Registrierte Benutzer die Konversationen nutzen und die Gruppe Jeder Konversationen starten. Du bist als Administrator natürlich ebenfalls in der erstgenannten Gruppe vertreten.

  • Zeigst Du bitte konkret, was Du wie eingestellt hast? Wir werden Deinen Fehler bestimmt finden.

    Ich werde versuchen das möglichst detailgetreu aufzuzeigen, ist nämlich relativ einfach nachzustellen.

    Laut deinem Screenshot darf die Gruppe Registrierte Benutzer die Konversationen nutzen und die Gruppe Jeder Konversationen starten. Du bist als Administrator natürlich ebenfalls in der erstgenannten Gruppe vertreten.

    ja registrierte Benutzer soll in die Konversation rein und auf meine Begrüssungskonversation anworten dürfen, aber keine neue Konversation starten dürfen. Das funktioniert auch so, aber nur wenn ich explizit in allen Gruppen die der User bekommt bei konversationen auch explizit vorher "kann neue Konvesationen starten" auf nein stelle.

    Ich teste mit mehreren Testusern und nicht mit dem Admin account.


    also man kann das ganz leicht testen.


    1. In allen Benutzergruppen unter Konversationen die Einstellung "Kann Konversationen benutzen" und "Kann neue Konversationen starten" auf nein stellen.

    2. jetzt ändert man in der Benutzergruppe "Registrierte Benutzer" die Einstellung "Kann Konversationen benutzen" auf ja und "Kann neue Konversationen starten" auf nein, somit ist sichergestellt, das neue Benutzer Nachrichten empfangen können und auf meine Begrüssungskonv antworten können. Neue erstellen kann er somit nicht.

    3. mit einem Testuser testen ob man Konversationen benutzen kann und eine neue starten kann. Dies dürfte nicht der Fall sein.

    4. Jetzt geht man in die Gruppe "Jeder" und stellt "Kann Konversationen benutzen" und "Kann neue Konversationen starten" jeweils wieder auf ja und stellt jetzt "Kann Konversationen benutzen" wieder auf nein, erscheinen alle anderen Einstellungen ausgegraut und man geht davon aus, das von der Gruppe jeder trotzdem keine Gefahr aus geht.

    5. jetzt mit dem Testuser testen und voila man kommt jetzt sowohl in das Konversationsmenü und man kann neue Konversationen starten.


    Es ist daher so, das man mit dem Recht aus der Gruppe Registrierte Benutzer in das Konversationsmenü hineinkommt, aber erst mit dem Recht aus der Gruppe "Jeder" was versteckt noch das ausgegraute recht "Kann neue Konversationen starten" beinhaltet munter weiter Konversationen schreiben.


    Daher wäre ich dafür die restlichen Felder nciht auszugrauen, wenn man "Kann Konversationen benutzen" auf nein stellt. Das suggeriert nämlich, das alle Felder automatisch deaktiviert, also auf nein stehen. Das sind sie nämlich nciht. Nur eben Grau


    pfd

  • Das funktioniert auch so, aber nur wenn ich explizit in allen Gruppen die der User bekommt bei konversationen auch explizit vorher "kann neue Konvesationen starten" auf nein stelle.


    Das ist aber doch das ganz normale seit Jahren bekannte Verhalten des Berechtigungssystems. Ich gehe davon aus, dass Du einfach erstmalig in eine Situation geraten bist, in der unterschiedliche Einstellungen in verschiedenen Benutzergruppen zu diesem anfangs unverständlichen aber logisch korrekten Verhalten führen. Es gilt immer noch: Ein Nutzer verfügt über die Summe der Berechtigungen aus allen Gruppen, denen er angehört.





    Gruß norse

    Zugang zu meinen Arbeiten und dem dazugehörigen Support bekommt Ihr bei Interesse hier.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!