[TYPO3-german] fe_user mehrfach login verhindern

Stephan Schuler Stephan.Schuler at netlogix.de
Sat Jun 26 11:05:45 CEST 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hallo zusammen


Darf man fragen wozu eine solche Funktion gebraucht wird?

Die erste Session zu lassen und alle weiteren zu töten halte ich für Usability-Unfug.

Ich melde mich von einem Rechner an, sagen wir aus dem Büro kurz nach Feierabend weil ich noch einige Dinge checken will bevor ich heim fahre.
Weil s dann schnell gehen muss schalte ich den Rechner aus und fahre heim.
Daheim stelle ich fest: Mensch, ich kann mich nicht anmelden weil ich im Büro noch angemeldet bin.

Muss ich daheim jetzt warten bis TYPO gemerkt hat, dass im Büro wohl kein Click mehr kommen wird weil die dortige Session abgelaufen ist?

Üblich und sinnvoll sind meiner Meinung nach zwei Verfahren:
* Der letzte Login tötet alle vorherigen.
* Man zeigt an geeigneter Stelle eine Informationsbox an aus der hervorgeht, wie viele gleichzeitige Sessions der Benutzer gerade betreibt und von welchen Rechnernamen aus. Hier ließe sich ein "kick"-Button einbauen.

Ihr solltet euer Kick-Feature übrigens kurz mit nichtangemeldeten Benutzern prüfen. Ich bin mir gerade nicht sicher welche UID ein nichtangemeldeter Benutzer hat, es könnte aber die 0 sein. Eine Session wird ein solcher Benutzer aber mit Sicherheit haben.
Je nachdem wann ihr die überzähligen FE-Sessions tötet könnte das Non-Auth-FE-Sessions unbrauchbar machen.


Grüße,



Stephan Schuler
Web-Entwickler

Telefon: +49 (911) 539909 - 0
E-Mail: Stephan.Schuler at netlogix.de
Internet: http://media.netlogix.de

- --
netlogix GmbH & Co. KG
IT-Services | IT-Training | Media
Andernacher Straße 53 | 90411 Nürnberg
Telefon: +49 (911) 539909 - 0 | Fax: +49 (911) 539909 - 99
E-Mail: mailto:info at netlogix.de | Internet: http://www.netlogix.de/

netlogix GmbH & Co. KG ist eingetragen am Amtsgericht Nürnberg (HRA 13338)
Persönlich haftende Gesellschafterin: netlogix Verwaltungs GmbH (HRB 20634)
Umsatzsteuer-Identifikationsnummer: DE 233472254
Geschäftsführer: Stefan Buchta, Matthias Schmidt

________________________________________


Von: typo3-german-bounces at lists.typo3.org [typo3-german-bounces at lists.typo3.org] im Auftrag von Steffen Ritter [info at rs-websystems.de]
Gesendet: Samstag, 26. Juni 2010 09:47
An: typo3-german at lists.typo3.org
Betreff: Re: [TYPO3-german] fe_user mehrfach login verhindern

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!
_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


-----BEGIN PGP SIGNATURE-----
Version: PGP Universal 3.0.0 (Build 2881)
Charset: Windows-1252

wpUDBQFMJcLupp0IwsibV8MBCJYuA/9xay2wGc185tubrEmclX9e9QdQQ+UD82Vz
ZBD8TESCJhF1L7jteFPvH+Pli12pBvvJHVpF9wO9DGxlDPjvKCKz6h7nRbwL/214
K/4DokcCNLjyb8qy3NJAXJSjPpHdgPrHO9OHMpWHo1H4kGw5VMkCtFcySwijsZJJ
dYqYowA+FA==
=RPHo
-----END PGP SIGNATURE-----


More information about the TYPO3-german mailing list