Discussion:
[TYPO3-german] FE user auslesen mit PHP-Skript
Carsten Guthardt-Schulz
2006-11-07 18:16:53 UTC
Permalink
Hallo Liste,

Im Rahmen des ?bertragens einer existierenden Seite nach typo3 muss neben vielen statischen Seiten auch eine bereits existierende PHP-Anwendung ?bertragen werden.

Mit der Extension lumophpinclude l?sst sich diese PHP-Anwendung prima einbinden, nur gibt es ein Problem: Anstatt wie fr?her ihre Userverwaltung selbst zu erledigen, soll die PHP-Anwendung nun erkennen, welcher FE-User per typo3 eingeloggt ist und zu welcher Usergruppe er geh?rt. Dementsprechend hat er dann die damit verbundenen Rechte in der PHP-Anwendung.

lumophpinclude erlaubt es, dem eingebundenen PHP-Skript Cookies, POST und GET Variablen zug?nglich zu machen. Wie kriege ich es nun hin, dass mein PHP-Skript herausfindet, welcher User gerade eingeloggt ist?


Zweite Frage: Bei der PHP-Anwendung geht es darum, Datens?tze einer Datenbank anzeigen zu lassen, und je nach Userberechtigung neue zu erstellen bzw. zu bearbeiten. Wenn dies jetzt nicht schon alles in PHP programmiert w?re, sondern ich es von Grund auf neu entwickeln m?sste, wie w?rde man unter typo3 daran gehen? Realisiert man sowas am besten, indem man es als Extension programmiert?
--
Gru?,
Carsten Guthardt-Schulz
Peter Russ
2006-11-08 08:27:32 UTC
Permalink
Post by Carsten Guthardt-Schulz
Hallo Liste,
Im Rahmen des ?bertragens einer existierenden Seite nach typo3 muss neben vielen statischen Seiten auch eine bereits existierende PHP-Anwendung ?bertragen werden.
Mit der Extension lumophpinclude l?sst sich diese PHP-Anwendung prima einbinden, nur gibt es ein Problem: Anstatt wie fr?her ihre Userverwaltung selbst zu erledigen, soll die PHP-Anwendung nun erkennen, welcher FE-User per typo3 eingeloggt ist und zu welcher Usergruppe er geh?rt. Dementsprechend hat er dann die damit verbundenen Rechte in der PHP-Anwendung.
lumophpinclude erlaubt es, dem eingebundenen PHP-Skript Cookies, POST und GET Variablen zug?nglich zu machen. Wie kriege ich es nun hin, dass mein PHP-Skript herausfindet, welcher User gerade eingeloggt ist?
1) Aus TYPO3 DB entsprechend der Session-ID aus Session auslesen
2) Statt Benutzer in TYPO3 zu verwalten ?ber Service Benutzer und aus
Applikation ?bernehmen und mit entsprechendem Hook beim Anmelden gleich
in Applikation freischalten
3) T.B.D.
Post by Carsten Guthardt-Schulz
Zweite Frage: Bei der PHP-Anwendung geht es darum, Datens?tze einer Datenbank anzeigen zu lassen, und je nach Userberechtigung neue zu erstellen bzw. zu bearbeiten. Wenn dies jetzt nicht schon alles in PHP programmiert w?re, sondern ich es von Grund auf neu entwickeln m?sste, wie w?rde man unter typo3 daran gehen? Realisiert man sowas am besten, indem man es als Extension programmiert?
JA
--
Fiat lux!
Docendo discimus.
_____________________________
4Many? Services
openBC: http://www.openbc.com/go/invuid/Peter_Russ
Peter Quiel
2006-11-08 08:49:14 UTC
Permalink
Post by Carsten Guthardt-Schulz
Zweite Frage: Bei der PHP-Anwendung geht es darum, Datens?tze einer
Datenbank anzeigen zu lassen, und je nach Userberechtigung neue zu
erstellen bzw. zu bearbeiten. Wenn dies jetzt nicht schon alles in PHP
programmiert w?re, sondern ich es von Grund auf neu entwickeln m?sste,
wie w?rde man unter typo3 daran gehen? Realisiert man sowas am besten,
indem man es als Extension programmiert?
JA
Die Bibliothek sg_zfelib ist hierf?r von Stefan Greith erstellt worden. Man
muss zwar noch eine Erweiterung erstellen, aber der Aufwand reduziert sich um
einen sehr gro?en Teil.
http://typo3.org/documentation/document-library/extension-manuals/sg_zfelib/1.0.0/view/
Carsten Guthardt-Schulz
2006-11-08 12:16:36 UTC
Permalink
Hallo Peter,
Post by Peter Russ
1) Aus TYPO3 DB entsprechend der Session-ID aus Session auslesen
Also ich habe bei mir u.a. folgende Cookies, wenn ein FE-User angemeldet ist:
PHPSESSID = b969e476481a28a115998a01a31390a5
fe_typo_user = 6ac5f8d14d

Das ist doch ein MD5-Hash, oder? Wie kriege ich daraus jetzt den Usernamen?
Post by Peter Russ
2) Statt Benutzer in TYPO3 zu verwalten ?ber Service Benutzer und aus
Applikation ?bernehmen und mit entsprechendem Hook beim Anmelden gleich
in Applikation freischalten
Das hie?e, ich w?rde die alte Benutzeranwendung in der Applikation beibehalten? Das geht leider nicht, weil die Benutzer auch auf neue Bereiche au?erhalb dieser PHP-Anwendung zugreifen sollen, weshalb einige Benutzer mit der PHP-Anwendung gar nicht in Kontakt kommen werden.
--
Gru?,
Carsten
Carsten Guthardt-Schulz
2006-11-09 20:53:30 UTC
Permalink
Antwort auf meine eigene Frage:

Der Hash vom Cookie
fe_typo_user = 6ac5f8d14d

steht auch in der Tabelle fe_sessions. Dort kann man dar?ber im Feld ses_userid die UserId des Frontend-Users ermitteln.
--
Gru?,
Carsten


-----Wednesday, November 8, 2006, 1:16:36 PM, you wrote:----
Hallo Peter,
Post by Peter Russ
1) Aus TYPO3 DB entsprechend der Session-ID aus Session auslesen
Also ich habe bei mir u.a. folgende Cookies, wenn ein FE-User angemeldet ist:
PHPSESSID = b969e476481a28a115998a01a31390a5
fe_typo_user = 6ac5f8d14d

Das ist doch ein MD5-Hash, oder? Wie kriege ich daraus jetzt den Usernamen?
Post by Peter Russ
2) Statt Benutzer in TYPO3 zu verwalten ?ber Service Benutzer und aus
Applikation ?bernehmen und mit entsprechendem Hook beim Anmelden gleich
in Applikation freischalten
Das hie?e, ich w?rde die alte Benutzeranwendung in der Applikation beibehalten? Das geht leider nicht, weil die Benutzer auch auf neue Bereiche au?erhalb dieser PHP-Anwendung zugreifen sollen, weshalb einige Benutzer mit der PHP-Anwendung gar nicht in Kontakt kommen werden.
--
Gru?,
Carsten
Bernd Wilke
2006-11-09 23:20:28 UTC
Permalink
Post by Peter Russ
Post by Carsten Guthardt-Schulz
Hallo Liste,
Im Rahmen des ?bertragens einer existierenden Seite nach typo3 muss neben vielen statischen Seiten auch eine bereits existierende PHP-Anwendung ?bertragen werden.
Mit der Extension lumophpinclude l?sst sich diese PHP-Anwendung prima einbinden, nur gibt es ein Problem: Anstatt wie fr?her ihre Userverwaltung selbst zu erledigen, soll die PHP-Anwendung nun erkennen, welcher FE-User per typo3 eingeloggt ist und zu welcher Usergruppe er geh?rt. Dementsprechend hat er dann die damit verbundenen Rechte in der PHP-Anwendung.
lumophpinclude erlaubt es, dem eingebundenen PHP-Skript Cookies, POST und GET Variablen zug?nglich zu machen. Wie kriege ich es nun hin, dass mein PHP-Skript herausfindet, welcher User gerade eingeloggt ist?
1) Aus TYPO3 DB entsprechend der Session-ID aus Session auslesen
2) Statt Benutzer in TYPO3 zu verwalten ?ber Service Benutzer und aus
Applikation ?bernehmen und mit entsprechendem Hook beim Anmelden gleich
in Applikation freischalten
3) T.B.D.
Post by Carsten Guthardt-Schulz
Zweite Frage: Bei der PHP-Anwendung geht es darum, Datens?tze einer Datenbank anzeigen zu lassen, und je nach Userberechtigung neue zu erstellen bzw. zu bearbeiten. Wenn dies jetzt nicht schon alles in PHP programmiert w?re, sondern ich es von Grund auf neu entwickeln m?sste, wie w?rde man unter typo3 daran gehen? Realisiert man sowas am besten, indem man es als Extension programmiert?
JA
Damit ist klar wo die Userdaten herkommen:
Sobald der Seitenbesucher angemeldet ist ist
$GLOBALS['TSFE']->fe_user->user
mit allen Daten des FE-Userdatensatzes gef?llt. u.a auch das Feld
'usergroup' mit einer kommaseparierten Liste aller FE-User-Gruppen, zu
denen der Benutzer geh?rt.

Bernd
--
----------------
Bernd Wilke
Annweilerstr.20
40229 D?sseldorf
0211/229 2800
Carsten Guthardt-Schulz
2006-11-10 10:08:36 UTC
Permalink
Post by Bernd Wilke
Sobald der Seitenbesucher angemeldet ist ist
$GLOBALS['TSFE']->fe_user->user
mit allen Daten des FE-Userdatensatzes gef?llt. u.a auch das Feld
'usergroup' mit einer kommaseparierten Liste aller FE-User-Gruppen, zu
denen der Benutzer geh?rt.
D.h. ich h?tte mir die ganze Sache mit dem Finden des fe_typo_user-Cookies in der Datenbank, um die UserID und die anderen Userdaten herauszufinden, sparen k?nnen, weil Typo3 diese Informationen als globale PHP-Variable zur Verf?gung stellt?
--
Gru?/Best Regards,
Carsten
Loading...