[TYPO3-german] fe_user mehrfach login verhindern
Klaus Biedermann
klaus.biedermann at gmx.de
Fri Jun 25 13:23:27 CEST 2010
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 #################
More information about the TYPO3-german
mailing list