Ergebnis 1 bis 17 von 17

Thema: Zugriffsrecht pro Datensatz möglich?

  1. #1
    Contao-Nutzer
    Registriert seit
    09.12.2013.
    Beiträge
    2

    Frage Zugriffsrecht pro Datensatz möglich?

    Hallo liebe Contao-Community!

    Für ein Uni-Projekt nutzen wir Contao und MetaModels, um eine Liste von Kursen darzustellen. Welche Kurse im Frontend angezeigt werden, soll aber davon abhängig sein, welcher User im Frontend eingeloggt ist, bzw. zu welcher Mitgliedergruppe er gehört.
    Die Auswahl, welche Mitgliedergruppe welchen Kurs im FE sehen darf, soll beim Erstellen des Kurses, also beim Hinzufügen eines neuen Datensatzes geschehen. Dafür haben wir ein Attribut vom Typ Auswahl hinzufügt, dass die Mitgliedergruppen-Tabelle (tl_member_group) als Source-Tabelle nimmt. Soweit funktioniert alles.
    Dann dachte ich, dass man einen Filter setzt, der dann nur die Einträge auswählt und anzeigt, die zur Auswahl der Membergroup aus dem Datensatz passen. Allerdings hat die Konfiguration nicht geklappt und mittlerweile bin ich etwas ratlos, bzw. frage ich mich, ob es überhaupt möglich ist, Zugriffsrechte pro Datensatz zu setzen.

    Über einen Tipp würde ich mich/ würden wir uns sehr freuen!

    Hanna

  2. #2
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    Willkommen im Contao-Forum.
    Wahrscheinlich kann Dir das hier weiterhelfen:
    https://community.contao.org/de/show...l=1#post289786

  3. #3
    Contao-Nutzer Avatar von hpwebdesign
    Registriert seit
    03.07.2011.
    Beiträge
    32

    Standard

    Danke!

    Leider glaube ich nicht, dass das mit Gruppen genau so einfach geht. Ein Inserttag für Gruppen gibt es (natürlich) nicht. Wie kann man sonst herausfinden, in welchen Gruppen das aktuelle Mitglied gerade ist?

    Hendrik

  4. #4
    Contao-Fan Avatar von fabil
    Registriert seit
    10.11.2010.
    Beiträge
    383

    Standard

    Bezüglich dem Inserttag hatte ich einmal kurz was gebastelt.

    https://github.com/fabil/UserGroupsInserttag

    Gesendet von meinem Nexus 5 mit Tapatalk
    Github-Account: https://github.com/fabil

  5. #5
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    Wenn man Deine Erweiterung installiert, wo kommen die beiden Dateien .gitattributes und .gitignore hin ?
    Ins Root-Verzeichnis, ins UserGroupsInserttag-Verzeichnis oder muß ich die mit den core-Dateien mergen ?

    EDIT: Hab' das eben mal in einer 3.2.1 eingebaut und funktioniert. Nicht schlecht, weil mit SQL ist es schon nicht einfach, ein Blob aufzulösen.
    Geändert von KlausGrenoble (09.12.2013 um 22:50 Uhr)

  6. #6
    Contao-Fan Avatar von fabil
    Registriert seit
    10.11.2010.
    Beiträge
    383

    Standard

    Zitat Zitat von KlausGrenoble Beitrag anzeigen
    Wenn man Deine Erweiterung installiert, wo kommen die beiden Dateien .gitattributes und .gitignore hin ?
    Ins Root-Verzeichnis, ins UserGroupsInserttag-Verzeichnis oder muß ich die mit den core-Dateien mergen ?
    Bitte nur den Ordner system beachten. Dort ist genau die Struktur wie in Contao aufgebaut. Also reicht es, nur den Ordner UserGroupsInserttag in den Ordner modules zu verschieben.

    Falls der Inserttag weitere Funktionen haben sollte, schreibe mir einfach oder erstelle einen Issue. Ich setzte es dann um.
    Github-Account: https://github.com/fabil

  7. #7
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    Ich hab' mal zu diesem Post ein Beispiel erarbeitet. Zugriffsrechte pro Datensatz sind also möglich.
    http://contao.klausgraf.fr/metamodel...ormations.html
    Das war mir ohne Deine Erweiterung gar nicht möglich. Allerdings war ich gezwungen, für den Namen der Mitgliedergruppen Ziffern zu wählen. Erst dann komme ich mit meiner SQL-Anweisung zum Erfolg, da der Text in numerisch umgewandelt wird.
    SELECT mm_courses.id FROM mm_courses inner join tl_member_group ON mm_courses.membergroup = tl_member_group.id WHERE tl_member_group.name in ({ {UserGroups} })
    Für Gruppe 2 und 3 gibt mir UserGroups aus: 2, 3 . Die in-Anweisung "in (2, 3)" wird erfolgreich ausgeführt.
    Für Gruppe "Kurs 2" und "Kurs 3" bekäme ich von UserGroups: Kurs 2, Kurs 3 . Die in-Anweisung "in (Kurs 2, Kurs 3)" führt aber leider zum Syntax-Error.
    Gäbe UserGroups 'Kurs 2', 'Kurs 3' (optisch nicht schön) aus, wäre SQL zufrieden, da nun "in ('Kurs 2', 'Kurs 3')" erfolgreich ausgeführt würde.
    Da ich aber keine Webseiten erstelle und ich das alles hier nur aus Spaß mache, besteht kein Grund, Deine Erweiterung zu ändern (außer wenn die Uni Dich drum bitten würde). Die funktioniert sehr gut so wie sie ist.
    Gruß Klaus

  8. #8
    Contao-Nutzer
    Registriert seit
    09.12.2013.
    Beiträge
    2

    Daumen hoch

    Vielen Dank! Das hilft uns alles sehr weiter

  9. #9
    Contao-Fan Avatar von fabil
    Registriert seit
    10.11.2010.
    Beiträge
    383

    Standard

    Ich kann aber das gerne implementieren, sodass man z.B. {{UserGroups::sql}} eingibt und dann die Ausgabe für SQL erfolgt (also mit 'XX', 'XX' )
    Github-Account: https://github.com/fabil

  10. #10
    Contao-Fan Avatar von fabil
    Registriert seit
    10.11.2010.
    Beiträge
    383

    Standard

    Hallo noch einmal an alle,

    ich wollte gerade meine Erweiterung umbauen, als mir aufgefallen ist, dass Contao das von euch gewünschte schon selber mitbringt. Es ist nur nicht in der Dokumentation. Ich schau auch gleich danach, dass es in die Doku kommt.

    Da Ihr ja nur die ID der zugeordneten Gruppen braucht und nicht den Gruppennnamen, könnt Ihr das hier so viel effizienter und ohne meine Erweiterungen realisieren

    Code:
    SELECT mm_courses.id FROM mm_courses WHERE mm_courses.membergroup IN ({{user::groups}})
    Viele Grüße und noch viel Erfolg beim Projekt
    Fabi
    Geändert von fabil (12.12.2013 um 11:20 Uhr)
    Github-Account: https://github.com/fabil

  11. #11
    Contao-Nutzer Avatar von hpwebdesign
    Registriert seit
    03.07.2011.
    Beiträge
    32

    Daumen hoch

    Vielen vielen dank, das hilft uns enorm! Wir haben es direkt ausprobiert und alles klappt, wie wir es wollen

  12. #12
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    Zitat Zitat von fabil Beitrag anzeigen
    Es ist nur nicht in der Dokumentation. Ich schau auch gleich danach, dass es in die Doku kommt.
    Ich finde das Inserttag weder in Wiki
    http://de.contaowiki.org/Insert-Tags
    noch im Handbuch:
    https://contao.org/de/manual/3.0/man...tml#inserttags

  13. #13
    Contao-Fan Avatar von fabil
    Registriert seit
    10.11.2010.
    Beiträge
    383

    Standard

    Hallo Klaus,

    bin leider noch nicht dazu gekommen...habe gerade recht viel zu tun.
    Github-Account: https://github.com/fabil

  14. #14
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    Aber das Abitur ist doch vorbei, oder ?

    EDIT:
    Ach, ich sehe gerade, is' ja drin:
    Code:
    {{user::username}}	 Dieses Tag wird mit dem Benutzernamen des angemeldeten Benutzers ersetzt.
    Geändert von KlausGrenoble (13.06.2014 um 00:22 Uhr)

  15. #15
    Contao-Nutzer Avatar von Traumkunst
    Registriert seit
    22.01.2011.
    Ort
    In der Nähe von Dortmund
    Beiträge
    229

    Standard

    Ach, ich sehe gerade, is' ja drin: {{user::username}} Dieses Tag wird mit dem Benutzernamen des angemeldeten Benutzers ersetzt.
    Ging es nicht um {{user::groups}} ?

  16. #16
    Contao-Fan Avatar von fabil
    Registriert seit
    10.11.2010.
    Beiträge
    383

    Standard

    Ja ging es.

    Aktuell sehe ich jedoch nicht direkt den Sinn dieses Inserttags für die Doku, da dieser Inserttag nur die ID zurück gibt und nicht den Namen. Falls man also das braucht, kann man ja meine Erweiterung nutzen.

    Viele Grüße
    Fabi
    Github-Account: https://github.com/fabil

  17. #17
    Contao-Urgestein Avatar von KlausGrenoble
    Registriert seit
    27.01.2013.
    Ort
    Grenoble
    Beiträge
    2.362

    Standard

    Zitat Zitat von fabil Beitrag anzeigen
    Aktuell sehe ich jedoch nicht direkt den Sinn dieses Inserttags für die Doku, da dieser Inserttag nur die ID zurück gibt und nicht den Namen. Falls man also das braucht, kann man ja meine Erweiterung nutzen.
    Also da schliesse ich mich lieber dieser Äusserung hier an:
    Zitat Zitat von fabil Beitrag anzeigen
    Da Ihr ja nur die ID der zugeordneten Gruppen braucht und nicht den Gruppennnamen, könnt Ihr das hier so viel effizienter und ohne meine Erweiterungen realisieren
    Für das in diesem Post angesprochene Problem war genau dieses Insert-Tag {{user::groups}} die effizienteste Lösung. Für die Doku also nur von Vorteil.
    Muss aber wegen mir persönlich nicht unbedingt sein.

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Lesezeichen

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •