[TYPO3-german] fe_user mehrfach login verhindern
Steffen Ritter
info at rs-websystems.de
Sat Jun 26 09:47:47 CEST 2010
Am 25.06.2010 13:23, schrieb Klaus Biedermann:
> Florian Zimmermann schrieb:
>> Hallo Klaus,
>> mir fällt nur ein abfragen ob der User schon eingeloggt ist und ggf.
>> die anderen Sessions löschen.
>> public function killUserSessions(){
>> $user = get_object_vars($GLOBALS["TSFE"] -> fe_user);
>> $uid = $user['user']['uid'];
>> $ses_id = $GLOBALS["TSFE"]->fe_user->id;
>> if (!empty($uid)) {
>> $res
>> =$GLOBALS['TYPO3_DB']->exec_SELECTquery('ses_id','fe_sessions','ses_userid
>> = '.$uid);
>> while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
>> $rows[] = $row;
>> }
>> if (sizeof($rows) > 1){
>> $query = tx_pp_fc_db::buildQueryArray('ses_id',,);
>> $res =
>> $GLOBALS['TYPO3_DB']->exec_DELETEquery('fe_sessions','ses_userid =
>> '.$uid.' AND ses_id != '".$ses_id."'');
>> }
>> }
>> }
>> Bis dann
>>
>> Florian
>> Am 25.06.2010 00:03, schrieb Klaus Biedermann:
>>> Hallo Typo3 Liste,
>>>
>>> normaler Weise kann sich ein Frontend Benutzer von verschiedenen
>>> Rechnern gleichzeitig einloggen.
>>> Gibt es einen Weg dies zu verhindern?
>>>
>>> lg
>>>
>>> Klaus
>>
>
> Hallo Florian,
>
> vielen Dank für Deine Hilfe.
> Es funktioniert soweit. Nur jetzt können sich die Benutzer gegenseitig
> rauswerfen.
>
> Daher habe ich Deine Methode etwas geändert; es wird nach Timestamp
> sortiert und die neueren Sessions gekillt. So bleibt der erste User
> eingeloggt.
>
> ############# BEGIN ################
>
> public function killUserSessions(){
> $user = get_object_vars($GLOBALS["TSFE"] -> fe_user);
> $uid = $user['user']['uid'];
> $ses_id = $GLOBALS["TSFE"]->fe_user->id;
> if (!empty($uid)) {
> $res
> =$GLOBALS['TYPO3_DB']->exec_SELECTquery('ses_id','fe_sessions','ses_userid
> = '.$uid, '', 'ses_tstamp ASC');
> while ($row = $GLOBALS['TYPO3_DB']->sql_fetch_assoc($res)) {
> $rows[] = $row;
> }
> if (sizeof($rows) > 1){
> for($i=1;$i<count($rows);$i++){
> $res = $GLOBALS['TYPO3_DB']->exec_DELETEquery('fe_sessions','ses_userid
> = '.$uid.' AND ses_id = "'.$rows[$i]['ses_id'].'"');
> }
>
> }
> }
> }
>
> ############## END #################
also ich würde den User in dem fall auf jeden falla uf eine info seite
umleiten!
More information about the TYPO3-german
mailing list