hallo,
ich habe eine extension für administratoren geschrieben, um den benutzer zu wechseln.
nun möchte ich gern meine rechte mit den neuen addieren. dafür habe ich eine funktion geschrieben, die mir in $GLOBALS['TSFE']->fe_user->groupData[uid] die gruppen-ids schreibt. ich dachte $GLOBALS['TSFE']->fe_user->groupData[uid] wird beim login gefüllt und bleibt dann bestehen. leider ist das wohl nicht der fall.
hat jemand eine idee, wie ich die gruppen ausschließlich für die laufende session ändere?
lg, nick
hmm IMO gar nicht.. ich würde einfach eine neue gruppe erstellen mit einem stop-datum o.ä
georg
wie meinst du das mit dem stop-datum?
ich sehe im gruppen-form keine eingabe mit einem datum!?
wenn es möglich ist, eine gruppe für eine bestimmte zeit zu erstellen, kann ich ja dort die gewünschten untergruppen anlegen oder sehe ich das falsch?
quasi als untergruppen meine admingruppen. so habe ich dann für den benutzerwechsel auch die rechte, die ich vor dem wechsel hatte.
nur was ist mit der gültigkeit? wenn ich ein stop-datum eingegeben habe, hat ja dann der bentutzer noch eine bestimmte zeit diese gruppe!?
oder ich lösche sie nach dem logout wieder!?
ah sorry, gibts hier leider nicht.. maximal ein disable was du setzen kannst.. so oder so kommst du glaub um je ein query nicht herum, beim einloggen und beim ausloggen
georg
habs geschafft...
- ich lege eine gruppe an mit meinen + user - rechte als untergruppen an
- speicher die alten userrechte in einer session
- logge mich mit dem neuen ein
- schreibe die gruppenzugehörigkeit auf die neue gruppe um
- ich logge mich aus
- schreibe die alten usergruppen wieder in fe_users
- lösche die benutzergruppe
- lösche die session-daten
danke für die hilfe!
neues problem:
ich als admin wechsel den benutzer. der benutzer bekommt eine neue gruppe, welche meine rechte + die eigenen als untergruppen besitzt. nun daddel ich als admin über den benutzer auf meiner seite rum. was ist jetzt, wenn der benutzer sich später einloggen möchte und das auch tut? dann wird er zukünftig mit adminrechten bestückt sein, was natürlich nicht sehr vorteilhaft wäre. hat jemand eine idee, wie ich das umgehen kann?
lg, nick