Zum Inhalt springen

FE-Benutzergruppe soll FE-Userdaten ändern

Erstellt am 7. September 2006 · 3 Antworten · letzte Antwort am 7. September 2006

Tags: Frontend-Benutzer, Frage

Cesideem ·

Moin,

ich habe auf meiner Projektseite die EXT sr_feuserregister zum bearbeiten der FE-User eingerichtet.
Der normale Benutzer soll damit einige seiner Benutzerdaten ändern können.
Einen anderen Teil der Benutzerdaten soll von einem Admin der FE-Gruppe Admin editierbar sein (Im FE, nicht im BE).
Ist das so von Haus aus möglich? Und wenn ja, wie?

Oder muß ich mir da ein eigenes PHP-Skript für schreiben?

Gruß
Cesi

just2b ·

Hallo,

wie wärs gewesen mit auf typo3.org/extensions nach "fe user" zu suchen?
zB feuser_admin, sg_userdata, ....

lg georg

Cesideem ·

Dort hatte ich ja schon geschaut...

Nur die Beschreibungstexte sind meiner Meinung nach nicht als so eindeutig, daß ich meine Frage daraus direkt hätte beantworten können:

Front End User Registration. Enables Creation And/Or Editing of Userdata for FE Users. Extends fe_users by some Fields e.g. for Bank-Account, Newsletter-Subscription, Autologin etc.

A template/fe_adminLib based approach to automatic fe_user registration and maintenance.

...

Aber nun werde ich mir nun deine beiden Vorschläge mal genauer ansehen,
danke

Cesideem ·

So, meine Lösungsansätze sehen bislang wie folgt aus - nur leider ohne wirklichen Erfolg...

Über das Skript fe_adminLib.inc und die EXT: feuser_admin bin ich darauf gestoßen, daß die Bearbeitung im FE von fremden FE-Users eben doch möglich ist.

Aus der Referenz der fe_adminLib.inc mal ein kleiner Auszug:

fe_userOwnSelf (Typ: Boolean):
Wenn diese Eigenschaft gesetzt ist, wird in Datensätzen von fe_users, die mithilfe dieses Modules erstellt wurden, das Feld fe_cruser_id auf die eigene UID gesetzt, was bedeutet, dass den Benutzern ihr eigener Datensatz "gehört" und daher ihre eigenen Daten bearbeiten können.
Alle anderen Tabellen, die ein fe_cruser_id-Feld im crtl-Bereich ihrer $TCA-Konfiguration haben, bekommen dieses Feld automatisch auf die UID des aktuellen fe_users gesetzt.
fe_userEditSelf (Typ: Boolean):
Wenn diese Eigenschaft gesetzt ist, können fe_users ihren eigenen Datensatz bearbeiten, egal ob er ihnen gehört oder nicht.
allowedGroups (Typ: [Liste von Integern]):
Liste von UID-Nummern von fe_groups, die die Datensätze über dieses Formular bearbeiten dürfen. Normalerweise ist nur der Besitzer des Datensatzes dazu berechtigt.

Ok, das war/ist mein Ausgangspunkt.
Ich habe nun in meinem Setup folgendes eingefügt:

plugin.feadmin.fe_users.pid = 2
plugin.feadmin.fe_users.fe_userEditSelf = 1
plugin.feadmin.fe_users.allowedGroups = 1
plugin.feadmin.fe_users.fe_userOwnSelf = 0

|- Sysordner der FE-User (ID=2)
|- FE-Gruppe Admin (ID=1)

Auf einer Seite im geschützten Bereich habe ich ein Plugin vom Typ Frontend Benutzer Administration mit dem CODE=EDIT angelegt.

Logge ich mich nun mit einem Benutzer der Gruppe "Admin" ein, und gehe auf die neu erstellte Seite, sehe ich in der zur Bearbeitung verfügbaren Benutzer nur mein eingeloggtes Konto.

Daraufhin habe ich im phpMyAdmin die folgenden Felder überprüft:
fe_users -> fe_cruser_id
Lt. der o.g. Beschreibung sollte in diesen Feld bei jedem User mit o.g. Vorgaben nun die ID meines eingeloggten Benutzers stehen. Tut sie aber nicht...

Wenn ich dieses Feld in der Datenbank bei allen Usern manuell auf die ID meines Admin-Benutzers stelle, habe ich auf meiner Bearbeitenseite eine Liste alle User - und ich kann somit die Daten der Benutzer ändern.

Ich vermute, daß das Problem irgentwie mit meinem Loginformular zusammenhängt - und deshalb der Wert fe_cruser_id nicht automatisch auf die entsprechende ID gesetzt wird (Ich arbeite mit einer für MD5-Passwörter modifizierten Loginbox_macmade).

Liege ich da mit meiner Vermutung richtig? Oder habe ich noch irgentwo einen anderen Fehler gemacht?