[TYPO3-UG Dutch] Zelf de sessie waarde uitlezen uit fe_typo_user cookie en die in de fe_sessions tabel zetten mogelijk?

Frans van der Veen frans at netcreators.com
Thu Dec 3 17:57:13 CET 2009


Beste Jordan,

Uit jouw verhaal begrijp ik dat je een inlog script wil maken? Is het
niet makkelijker om daarvoor de TYPO3 authenticatie service te gebruiken?

Zoals bijvoorbeeld in deze extensie:
http://typo3.org/extensions/repository/view/ldap_auth/current/

Bijkomend voordeel is dat de sessie dan ook behouden blijft en niet
wordt weggegooid door het authenticatiescript.

Succes!

Groet,

Frans van der Veen
Certified TYPO3 Integrator / TYPO3 Developer
+31(0)26 - 442 1950
_________________________________________________

Netcreators: Open Source, Open Minds, Open People
_________________________________________________

Jordan van Bergen wrote:
> Dit wordt een aparte ;-)
> 
> Is het mogelijk via een eigen php script de sessie waarde uit te lezen
> uit fe_typo_user cookie en die dan zo in de fe_sessions tabel te
> zetten dat je eigenlijk iemand inlogt in het systeem met daarbij een
> vaste usergroup etc. zonder dat men zelf handmatig via de website
> ingelogd heeft? 
> 
> Het hele inlog proces wordt natuurlijk geregeld in:
> typo3/sysext/cms/tslib/class.tslib_feuserauth.php
> 
> Ik wil echter zoiets als hieronder doen in een eigen kort php script:
> 
> // cookie uitlezen
> $cookie_var = $_COOKIE['fe_typo_user']; 
> 
> // vaste velden voor fe_sessions tabel bepalen
> $DBobj = new DB();
> $ses_id=$cookie_var;
> $ses_name= "fe_typo_user";
> $ses_userid= "4";
> $ses_tstamp= time();
> $ses_data= " ";
> $ses_iplock= "192.168";
> $ses_hashlock= "8426832";
> $ses_permanent= "1";
> 
> $qry = "INSERT INTO fe_sessions (ses_id, ses_name, ses_userid,
> ses_tstamp, ses_data, ses_iplock, ses_hashlock, ses_permanent)".
>  "VALUES
> ('".mysql_real_escape_string($ses_id)."','".mysql_real_escape_string($ses_name)."','".mysql_real_escape_string($ses_userid)."','".mysql_real_escape_string($ses_tstamp)."','".mysql_real_escape_string($ses_data)."','".mysql_real_escape_string($ses_iplock)."','".mysql_real_escape_string($ses_hashlock)."','".mysql_real_escape_string($ses_permanent)."')";
> $result = mysql_query($qry);
> 
> Dus ik lees het sessieid uit de cookie uit en dat werkt. Daarna plaats
> ik alle benodigde velden in de fe_sessions tabel met een vaste
> usergroup etc. Dat gaat ook goed. Normaal gesproken ben je nu ingelogd
> in typo3 omdat je sessie gelijk is aan die in de database en dan mag
> je alles zien wat die bepaalde usergroup ook mag zien. 
> 
> Echter gebruik ik dus niet
> typo3/sysext/cms/tslib/class.tslib_feuserauth.php
> en wordt de waarde die ik in de database gezet heb er ook weer net zo
> hard uitgedonderd waardoor je weer bent uitgelogd. 
> 
> Als ik zelf inlog met een bestaand account, de waarde in de database
> opvraag, via een andere browser een ander sessie waarde uit de cookie
> lees en de waarde in de database overschrijf met dit sessie id ben je
> binnen deze browser sessie waarmee je nooit ingelogd bent als het ware
> "toch ingelogd". Dit gaat dus goed als je een bestaande waarde in de
> database overruled. Echter exact hetzelfde zelfstandig plaatsen in de
> database heeft dit effect niet omdat bij het opvragen van een andere
> pagina of dezelfde de waarde ook weer direct uit de tabel fe_sessions
> wordt gegooid. 
> 
> Iemand een idee of bovenstaande wat ik wil mogelijk is?
> 
> Groeten,
> Jordan van Bergen


More information about the TYPO3-UG-Dutch mailing list