Modul dates: Unberechtigte Auflistung der Teilnehmer!

Hast du einen Fehler in der aktuellen Version gefunden ? Diesen kannst du uns hier mitteilen und uns bei der Fehlersuche helfen.
Antworten
oliver
Beiträge: 239
Registriert: 25. Nov 2014, 19:47

Modul dates: Unberechtigte Auflistung der Teilnehmer!

Beitrag von oliver »

Hallo zusammen,

im Modul "dates" (Termine) kann sich jeder, der eingelogt ist, auch eine Liste der Teilnehmer anzeigen lassen. Wenn aber in der unsichtbaren Termin-Rolle die Eigenschaft "Rollenmitgliedschaft sehen" auf "Niemand" gesetzt ist, darf dies nicht möglich sein.

Grund: dates.php (in der aktuellen Version Zeile 564 ff):

Code: Alles auswählen

// Link to participants list
if($gValidLogin)
{
es müsste noch nach dem Feld-Inhalt "rol_this_list_view" der entsprechenden Rolle abgefragt werden.

Besten Gruß
Oliver
weissst
Developer
Beiträge: 342
Registriert: 4. Nov 2011, 18:07
Wohnort: 54xx

Re: Modul dates: Unberechtigte Auflistung der Teilnehmer!

Beitrag von weissst »

Hallo Oliver,

konnte das so nachstellen und hab mal einen Bug report aufgemacht um es zu beheben:
https://sourceforge.net/p/admidio/bugs/796/

danke für die Information
Stefan
oliver
Beiträge: 239
Registriert: 25. Nov 2014, 19:47

Re: Modul dates: Unberechtigte Auflistung der Teilnehmer!

Beitrag von oliver »

Hallo Stefan,

Habe inzwischen bei mir ein Bugfix durchgeführt:
in der Klasse ModuleDates in der Funktion getDates() (module_dates.php aktuelle Version Zeile 565 ff) den SQL um einen Join auf die Tabelle TBL_ROLES erweitert:

Code: Alles auswählen

        //read dates from database
        $sql = 'SELECT DISTINCT rol.*, cat.*, dat.*, mem.mem_usr_id as member_date_role, mem.mem_leader,'.$additionalFields.'
                  FROM '.TBL_DATE_ROLE.' dtr, '. TBL_CATEGORIES. ' cat, '. TBL_DATES. ' dat
                       '.$this->sqlAdditionalTablesGet('data').'
                  LEFT JOIN '. TBL_ROLES. ' rol
                    ON rol.rol_id = dat_rol_id
...
...
und in der dates.php (aktuelle Version Zeile 564 ff) entsprechend abgefragt:

Code: Alles auswählen

// Link to participants list
// if listview is allowed for all loged users or user is member or user is rolemaster
if( ($row['rol_this_list_view'] == 2 && $gValidLogin) || ($row['rol_this_list_view'] == 1 && $row['member_date_role'] > 0 ) || $gCurrentUser->assignRoles() )
{
...
Das funktioniert, ist auch OK und logisch so, mir kommen aber inzwischen Zweifel bezüglich der Sinnhaftigkeit:
Jeder, der angemeldet ist, darf sich als Teilnehmer eintragen. Und nur, wenn er eingetragen ist, kann er die Teilnehmerliste einsehen. Wenn ich also als angemeldeter User die Teilnehmerliste einsehen will, trage ich mich als Teilnehmer ein, sehe die Liste ein und trage mich wieder aus.

Besten Gruß
Oliver
thomasb
Beiträge: 75
Registriert: 28. Okt 2011, 10:34

Re: Modul dates: Unberechtigte Auflistung der Teilnehmer!

Beitrag von thomasb »

Aktuell dürfte das ja bereits im Standard so implementiert sein. Seit dem update auf die aktuell Version ( 3.1.8 ) berichten mir Mitglieder, dass sie die Teilnehmer eines Termins nicht mehr ansehen können. Habe mir das nun angesehen, und bin auch auf diesen Thread gestoßen.
So recht sinnvoll finde ich die Vorgehensweise nicht. Der User ist authentifiziert, muss sich aber zum Termin erst anmelden, damit er die Teilnehmer sehen darf. Das Login selbst sollte doch eigentlich ausreichen, um die Rollenmitgliedschaft zu bestimmen, und die Teilnehmer eines Termins, zu dem er sich anmelden darf auch ohne Anmeldung zum Termin anzuzeigen.
Die Rolle vorstand hat offensichtlich eine wesentliche Berechtigung mehr als die Mitglieder, denn Mitglieder dieser Rolle dürfen die Teilnehmer auch ohne Anmeldung zum Termin anzeigen.
viele Grüße,
Thomas
Benutzeravatar
fasse
Administrator
Beiträge: 6231
Registriert: 12. Nov 2005, 16:06

Re: Modul dates: Unberechtigte Auflistung der Teilnehmer!

Beitrag von fasse »

Welche Sichtbarkeit ist denn bei den Terminrollen dann eingestellt?

Dürfen dort auch nicht Rollenmitglieder diese Teilnehmer der Rolle sehen?
thomasb
Beiträge: 75
Registriert: 28. Okt 2011, 10:34

Re: Modul dates: Unberechtigte Auflistung der Teilnehmer!

Beitrag von thomasb »

Also einerseits gibt es ja die Kalendertypen: Allgemein, Training, Kurse (Wir verwenden immer nur Allgemein, und diese Kalendertype ist auch für nicht angemeldete Personen
Andereseits gibt es die Sichtbarkeit. Hier stellen wir normalerweise auf der Rolle "Mitglieder". Damit können nur Mitglieder dieser Rolle diesen Termin sehen, und sich dazu anmelden. Wir berechtigen im Normalfall auch nur eine Rolle bei einem Termin. Nur die Teilnehmer sehen die Mitglieder eben erst, wenn sie selber auf Teilnehmen klicken - und das ist unlogisch.
Für den Fall, dass mehrere Rollen auf einem Termin berechtigt sind, sehe ich aber kein Problem, dass auch Personen der einen Rolle, die Teilnehmer der anderen Rolle sehen. Aber diesen Fall mag jeder anders sehen. In meinem Fall ist es aber gar nicht so komplex.
Antworten