Benutzer - Rechtesystem

  • Hallo,

    ich arbeite gerade an einer Website für unseren Verein.

    Leider war ich bisher nur Anwender und gerade mit dem Rechtesystem von Joomla habe ich keine tiefere Erfahrung.

    Könnte mir jemand ein wenig auf die Sprünge helfen mit meinem Vorhaben?

    Der aktuelle Stand ist folgender:

    Ich habe Benutzergruppen für jede Abteilung angelegt, wie folgt strukturiert:

    - Public

    -- Abteilungsmitglied

    --- Alpin

    --- Fußball

    --- Volleyball

    --- usw.

    Jede Abteilung besitzt ein eigenes Menü und eine eigene Kategorie.

    Nun möchte ich die Rechte so setzen, dass niemand in den Menüs und Kategorien der anderen rumpfuschen kann.

    Den Weg den ich aktuell genommen habe ist der, allen den Zugriff auf den Punkt "Menü" zu geben und dann für jede Gruppe zu sagen "nein, du darfst dieses Abteilungsmenü nicht bearbeiten".

    Dieser Weg kommt mir allerdings kontraproduktiv vor, da es doch sinvoller wäre den zugriff generell zu verbieten und dann nur der einen Gruppe freizugeben.

    Zudem gibt es auf diesem Weg Probleme wenn jemand mehreren Abteilungen zugeordnet ist.

    Und genau hier stehe ich nun vor dem Problem, dass ich so nicht weiterkomme.

    Wie gebe ich jemandem die Rechte auf den Reiter "Menüs" zugreifen zu können ohne dass er darin alle Menüs bearbeiten darf?

    Analog das gleiche mit Kategorien.

    Ich hoffe, hier kann mir jemand ein bisschen Nachhilfe geben oder mich in die richtige Richtung lenken.

    Vielen Dank und beste Grüße

    Andreas

  • Schau Dir mal meine Anleitung an:
    https://it-conserv.de/blog/13-berech…ein-verein.html

    Hier habe ich auch auf dem JoomlaDay dazu berichtet:

    Externer Inhalt www.youtube.com
    Inhalte von externen Seiten werden ohne Ihre Zustimmung nicht automatisch geladen und angezeigt.
    Durch die Aktivierung der externen Inhalte erklären Sie sich damit einverstanden, dass personenbezogene Daten an Drittplattformen übermittelt werden. Mehr Informationen dazu haben wir in unserer Datenschutzerklärung zur Verfügung gestellt.

    Wenn man die Lösung hat, dann muss man nur noch das passende Problem finden.

  • Auf Komponenten-Ebene kannst Du das im Backend entsprechend einrichten.

    Ich würde denen von Haus aus so wenig wie möglich Rechte einräumen und nur explizit erlauben, was sie dürfen. Alles andere wird zu Fehlern führen.

    Wenn man die Lösung hat, dann muss man nur noch das passende Problem finden.

  • Aber wo und wie muss ich die Rechte setzen?

    Die Benutzergruppe "Alpin" soll z.B. nur Zugriff auf das Menü "Hauptmenü-Alpin" haben. Im Backend wohlgemerkt, also zum Bearbeiten.

    Wenn ich den Zugriff auf die Komponenten "Menü" einschränke jommt man gar nicht mehr zu den einzelnen menüs.

    Gebe ich die frei, kann jeder alle Menüs bearbeiten.

    Ich verstehe einfach nicht wie Joomla im diesem Fall funktionieren soll.

  • Ah - soweit habe ich das noch nie eingeschränkt.

    Aber wenn ich das richtig verstehe, dann könnte es nur funktionieren, wenn Du für diese ein separates Menü anlegst und dann auf dieses Menü die Berechtigung vergibst.

    Du gehst auf Menüs, wählst das jeweilige Menü aus und gehst auf Bearbeiten. Da wo man den Namen des Menü vergibt, gibt es einen Tab "Berechtigungen". Hier stellst Du die Berechtigung für die jeweilige Gruppe ein.

    Wenn man die Lösung hat, dann muss man nur noch das passende Problem finden.

  • Ah okay :)

    Ja das habe ich versucht, aber sobald jemand zu mehr als einer Abteilung gehört kann er gar kein Menü mehr bearbeiten, da die Berechtigungen sich dann gegenseitig ausschließen.

    Schade, dass Joomla sowas offenbar nicht unterstützt. Dabei finde ich, dass das gar kein so unwahrscheinlicher Anwendungsfall ist :(

  • Ich bin davon ausgegangen, dass es hier ohne "verweigert" geht. Bein mir nicht sicher - aber sieht mehr nach einem Bug aus.

    Ich habe einen User in einer Gruppe unterhalb von Manager.

    Dieser Gruppe hat erst einmal keinen Admin-Zugriff auf Menüs => ok

    Ich bearbeite die Berechtigung des betreffenden Menü und erlaube in diesem der Gruppe den Admin-Zugriff => nicht ok

    Hier erwarte ich jetzt, dass diese Gruppe speziell für dieses Menü berechtigt ist.

    Wenn man die Lösung hat, dann muss man nur noch das passende Problem finden.

  • da die Berechtigungen sich dann gegenseitig ausschließen

    Das ist in der Tat so. Sobald man irgendwo verweigert eingestellt hat, kann man das nicht mehr aufheben. Deswegen sollte man immer versuchen ohne "verweigert" auszukommen.

    Ich werde das die Tage mal in J4 testen, wie es dort ist.

    Wenn man die Lösung hat, dann muss man nur noch das passende Problem finden.

  • Re:Later - habe mir das mal angeschaut. Da ist es aber ein Benutzer der in 2 Gruppen ist und bei einer Gruppe wurde auf verweigert eingestellt. Da sehe ich es so, dass das "verweigert" über allem steht.

    Hier ist es so, dass ich nichts verweigere, sondern explizit erlauben möchte. Da erwarte ich es dann, dass es möglich sein sollte. Ich kann ja mal versuchen ein Issiu aufzumachen. Unter J4 habe ich es eben auch getestet und da funktioniert es auch nicht.

    Wenn man die Lösung hat, dann muss man nur noch das passende Problem finden.

  • TE hat schon einen Issue aufgemacht

    Ah ok - ich wollte da gerade beigehen, dann brauch ich das ja nicht.

    Zugriffsebenen sind in diesem Fall nicht relevant, weil es ja um das Backend geht. Zugriffsebene für die Menüs müssten ja auf Public stehen, damit sie im FE zu sehen sind.

    Wenn man die Lösung hat, dann muss man nur noch das passende Problem finden.

  • Vielen dank für die Anmerkungen :)

    Ich sehe es auch so, dass das Rechtesystem in diesem Fall nicht logisch gelöst ist.

    Ist der Nutzer Mitglied einer Gruppe deren übergeordnet Gruppe Menüs editieren darf, kann er alle Menüs bearbeiten.

    Darf die Übergeordnete Gruppe keine Menüs bearbeiten, der Nutzer aber schon (expizit für ein Menü) kann er gar kein Menü bearbeiten.

    Hier wird imho der Fall ausgeschlossen einzelne Menüs bearbeitbar zu machen.

  • Da gibt es leider häufig Missverständnisse.

    Für jede Berechtigung gibt es die drei folgenden "Berechtigungsstufen":

    1.

    Nicht gesetzt (in public) führt zu standardmäßig auf "Nicht erlaubt" per vererbt.

    Dies kommt im Ursprung aus System -> Konfiguration -> Berechtigungen !

    Dies wird an Untergruppen und auch vom "System" an die einzelnen Komponenten vererbt.


    2.

    Erlaubt führt zu erlaubt und wird ebenfalls an Untergruppen und vom "System" an die Komponenten vererbt.

    Dies kommt im Ursprung zum Teil auch aus System -> Konfiguration -> Berechtigungen siehe z.B.:

    System -> Konfiguration -> Berechtigungen -> Manager


    3.

    Verweigert sollte man nur verwenden wenn die Berechtigung keinesfalls erlaubt sein soll, egal in welchen weiteren Benutzergruppen der Benutzer ist und wie dort die Berechtigungen sind!!! Verweigert für die jeweilige Berechtigung kann nicht aufgehoben werden durch ein erlaubt in anderer Berechtigungsebene oder anderer Benutzergruppe !!! Das verweigert wird natürlich auch an Untergruppen und gegebenenfalls vom "System" an die Komponenten vererbt.


    Einfaches Beispiel:

    Der Benutzergruppe "Lehrer" ist das erstellen von Beiträgen in der Kategorie "Intern" erlaubt.

    Der Benutzergruppe "Schüler" ist das erstellen von Beiträgen in der Kategorie "Intern" verweigert.

    Benutzer die in diesen beiden Benutzergruppen sind ist das erstellen von Beiträgen in der Kategorie "Intern" wegen verweigert nicht möglich.

    Der Benutzergruppe "Referenten" ist das erstellen von Beiträgen in der Kategorie "Intern" auf Nicht gesetzt (in public) führt zu standardmäßig auf "Nicht erlaubt" per vererbt.

    Benutzer die sowohl in der Benutzergruppe "Lehrer" und auch in "Referenten" sind ist das erstellen von Beiträgen in der Kategorie "Intern" erlaubt.

    Ist eigentlich logisch wenn man es richtig verstanden hat.

    Ausgenommen davon sind nur die Benutzer die in der Benutzergruppe "Super Users" sind.

    Weitere Infos siehe z.B. auch:

    Joomla! 2.5 ACL - das neue Rechtesystem - Software-Lupe

    Joomla! 2.5 ACL – Backend: Irrtümer und Irrlehren - Software-Lupe

    Joomla! 2.5 ACL – die richtige Herangehensweise - Software-Lupe

  • Die vorhandenen Joomla-Core-Benutzergruppen und deren Berechtigungseinstellungen sollte man keinesfalls löschen oder ändern weil es die Funktionalität und den Support extrem beinträchtigen und erschweren kann!


    Standard-Rechte der Joomla-Core-Benutzergruppen siehe z.B.:

    Rheinwerk Computing :: Joomla! 3 - Benutzerverwaltung einrichten

    ist zwar Joomla 3 aber die Grundlagen gelten auch für Joomla 4 und 5

  • Wobei der Mangel wie in #1 und #14 beschrieben durchaus weiterhin besteht und nur per jeweils separater Benutzergruppe gelöst werden kann.

    Also z.B. die Benutzergruppe B12 darf Menü 1 und 2 bearbeiten und hat ein verweigert bei den restlichen Menüs...

  • Lösen könnte man das Berechtigungsproblem aus #1 und #14 bezüglich der Benutzergruppen wohl z.B. mit einer neuen selbst erstellen Benutzergruppe die alles von der Benutzergruppe Public erbt also eine direkte Untergruppe von Pulbic ist und in dieser neuen Benutzergruppe in

    System -> Konfiguration -> Berechtigungen nur Administratoranmeldung und Site-Anmeldung erlaubt ist und unter

    System -> Konfiguration -> Menüs -> Berechtigungen außerdem nur Administrationszugriff erlaubt ist.

    Dann kann man in den Menüs in den Menüberechtigungen die gewünschten Aktionen berechtigen per erlaubt.

    Außerdem muß diese neue Benutzergruppe unbedingt auch zur Zugriffsebene "Spezial" zugriff erhalten!

    help.joomla.org/proxy?keyref=Help40:Users:_Viewing_Access_Levels&lang=de