Intelligente Rechteverwaltung

  • App
    WoltLab Suite Core

    Mir ist es passiert, dass ein User vor seinem Abgang alle seine Beiträge durch Edit "geleert" hat, was mich verwundert hat, da er das nur für 120 Minuten können sollte.

    Tja, Fehler war dass ich der Gruppe "jeder" eine unbegrenzte Bearbeitungszeit eingeräumt hatte und das die Einstellung seiner Gruppe überschrieben hat.

    Deshalb möchte ich eine "intelligente Rechtevergabe" anregen, die gegencheckt ob eine Einstellung überhaupt wirksam wird oder von einer anderen overruled wird und in diesem Fall eine Warnmeldung ausgibt.

  • Wie stellst Du Dir das denn konkret vor? In vielen Fällen gehört ein Benutzer mehreren Benutzergruppen an und soll im Normalfall auch exakt über die Summe der Berechtigungen aus allen diesen Gruppen verfügen.

    Vielleicht wäre es eher an der Zeit, die Vorgabewerte für "Jeder" einfach restriktiver zu gestalten.


    Gruß norse

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

  • In vielen Fällen gehört ein Benutzer mehreren Benutzergruppen an und soll im Normalfall auch exakt über die Summe der Berechtigungen aus allen diesen Gruppen verfügen.

    Das kann er ja durchaus, aber bei der Einstellung "Zeitraum für Beitragsbearbeitung" kann es nur eine Einstellung für einen User geben, die schlussendlich gilt.

    Wenn er nun in 3 Benutzergruppen ist, die ihm z.B. 60 Minuten, 120 Minuten und 180 Minuten erlauben würden, weiß ich als Admin nicht, welche denn nun gilt, ohne alle Einstellungen in allen Gruppen zu checken.

    Eine Abfrage ob es hier zu divergierenden Einstellungen kommt, halte ich für durchaus sinnvoll.

  • ohne alle Einstellungen in allen Gruppen zu checken.

    Das kannst Du doch bereits jetzt, indem Du einfach den Namen der Einstellung in die Suche eingibst und den vorgeschlagenen Treffer anklickst.

    Ich frage noch einmal: Unter welchen Umständen soll ein Vergleich der Einstellungen unterschiedlicher Gruppen überhaupt stattfinden und in welcher Form soll ein wie geartetes Ergebnis ausgeworfen werden? Mir fehlt da einfach ein wenig die Vorstellungskraft, was genau Du wann erwartest.


    Gruß norse

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

  • Wenn ich in der Benutzergruppe X "Zeitraum für Beitragsbearbeitung" auf 120 Minuten setze, sollte nach dem Speichern eine Warnmeldung kommen, dass diese Einstellung keinen Effekt hat, weil in der Gruppe "Jeder" -1 Minuten eingestellt ist.

  • Anregung:

    Es gibt bereits jetzt die Möglichkeit eine Priorisierung anzugeben - darüber könnten auch die Berechtigungen ausgerechnet werden.

    Bilden wir das mal auf das oben genannte Beispiel ab:

    Priorität Gruppe Recht: Zeitraum für Beitragsbearbeitung
    1000 Administrator 0
    10 Registrierte Benutzer 120
    1 Jeder 60

    Benutzer A ist in den Gruppen "Jeder" und "Registrierte Benutzer". Da letztere die höhere Prio hat, greift dieser Wert.

    Benutzer B ist "Jeder, "Registrierte Benutzer" und "Administrator". Da Admins die höchste Prio haben, greift der Wert 0.

    Da das aber gerade bei vielen (ähnlichen) Gruppen durchaus zu Problemen bei der Konfiguration führen kann würde ich sogar noch einen Schritt weiter gehen und den Wert "AUTO" für Berechtigungen einführen. Ist dieser Wert gesetzt wird die Berechtigungen von der nächsten Gruppen geerbt.

    Ein Ja/Nein-Recht hat also künftig die Möglichkeiten JA | NEIN | AUTO

    Beispiel:

    Priorität Gruppe Recht: Darf Feature verwenden
    1000 Administrator JA
    50 Premium AUTO
    20 Sponsoren NEIN
    10 Registrierte Benutzer JA
    1 Jeder NEIN

    Benutzer A ist in den Gruppen "Jeder", "Registrierte Benutzer", "Sponsoren" und "Premium". Da das Recht in der Gruppe mit höchster Priorität auf AUTO steht, greift die Gruppe "Sponsoren" für dieses Recht. Der Benutzer hat keinen Zugriff auf dieses Feature.

    Benutzer B ist in den Gruppen "Jeder", "Registrierte Benutzer" und "Premium". Da das Recht auf AUTO steht, greift die Gruppe "Registrierte Benutzer" für dieses Recht. Der Benutzer hat Zugriff auf dieses Feature.

    Damit wäre das Gruppensystem maximal flexibel einsetzbar und dank Priorisierung ist immer klar, welche Berechtigungen der Benutzer hat.

    Entwicklung und Design moderner Webapplikationen

    kostenloser Support • Vorschläge teilen • Plugins kaufen

    Darkwood.Design

  • Das ist doch schon mal eine klare Anforderung. Was ist nun aber, wenn es andere Gruppen gibt, in denen vielleicht eine Zeitspanne von 10080 Minuten entsprechend einer Woche erlaubt ist? Was der Einzelne angesichts seiner Gruppenzugehörigkeiten darf, muss m. E. ohnhin immer konkret geprüft werden. Einen wirklichen Schutz vor versehentlichen Fehleinstellungen bietet eine Gegenprüfung der Berechtigungen aus "Jeder" also nicht.

    Hilfreich für Dich wäre vielleicht noch das hier:

    Fabii
    November 1, 2023 at 11:28 AM


    Gruß norse

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

  • Was ist nun aber, wenn es andere Gruppen gibt, in denen vielleicht eine Zeitspanne von 10080 Minuten entsprechend einer Woche erlaubt ist?

    Hast du meinen Beitrag gelesen? Das wäre dann keine Frage mehr und auch ein Hinweis überflüssig.

    Entwicklung und Design moderner Webapplikationen

    kostenloser Support • Vorschläge teilen • Plugins kaufen

    Darkwood.Design

  • Ich hatte Deinen Beitrag in der Tat übersehen, aber es wäre mir neu, dass die Gruppenpriorisierung in irgendeinem Zusammenhang mit dem Berechtigungssystem steht. Wie kommst Du darauf? Im konkreten Fall (usergroupoption vom Typ infiniteinteger) greift immer der kleinste Wert aus allen Gruppen.


    Gruß norse

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

  • aber es wäre mir neu, dass die Gruppenpriorisierung in irgendeinem Zusammenhang mit dem Berechtigungssystem steht.

    Genau das ist das Problem. Wenn man die Priorisierung auch für die Berechtigungen verwenden würde, wüsste man direkt welches Recht für welchen Benutzer greift und könnte das wunderbar flexibel konfigurieren. Gerade in Communities mit knapp 100 Gruppen würde das vieles einfacher machen. (auch die Idee mit dem Vererben von Rechten)

    Entwicklung und Design moderner Webapplikationen

    kostenloser Support • Vorschläge teilen • Plugins kaufen

    Darkwood.Design

  • Bloß das System als solches nicht wieder ändern. Das gibt mehr Chaos und Aufwand als es die Änderung wert ist und man kann ja derzeit alles damit einrichten, was man möchte. Man muss sich eben damit beschäftigen, wie die Vergabe hier funktioniert und das ist an sich (bis auf wenige Ausnahmen, wie z.B. BBCodes) sehr intelligent gelöst, um möglichst wenig administrieren zu müssen. Dass die meisten Admins alle möglichen Rechte jeder Gruppe zuweisen und dann nicht mehr klar kommen ist sicherlich so. Aber das wäre bei einer anderen Systematik wohl auch nicht anders.

    Es ist eben einerseits ein Vorteil, dass man für fast alles Rechte vergeben will kann, aber andererseits wird es dadurch eben auch komplex. Ich wäre daher eher dafür, es transparenter zu gestalten, was die Vergabe angeht, nicht es zu ändern.

    So könnte man z.B. vor dem Wert der Gruppe doch im Prinzip auch die Gruppenrechte anzeigen, die auch noch gelten und markieren, welche aktuell gilt. Also so ähnlich wie die effektive Berechtigungsanzeige, die es ja als PlugIn schon gibt.

    Liebe Grüße
    Susi

    Edited once, last by Susi (January 8, 2021 at 5:28 PM).

  • Es wird nicht ohne Grund vielfach darauf hingewiesen, die Gruppenrechte für "Jeder" anfangs einmalig weitestgehend zu beschränken und dann darauf aufbauend Berechtigungen gezielt weiteren Gruppen zu geben. So ist man vor derartigen Überraschungen wie eingangs beschrieben gefeit.

    Mit anderen Worten: "Jeder" sollte immer nur das erlaubt sein, was auch wirklich jeder auf der Seite darf. Mit dieser Philosophie bin ich über nunmehr mehr als ein Jahrzehnt stets gut gefahren.


    Gruß norse

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

  • Alexander Ebert February 9, 2021 at 2:03 PM

    Added the Label Won’t be implemented

Participate now!

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