Stephan Schuler schrieb:
-----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.schu...@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:i...@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-boun...@lists.typo3.org 
[typo3-german-boun...@lists.typo3..org] im Auftrag von Steffen Ritter 
[i...@rs-websystems.de]
Gesendet: Samstag, 26. Juni 2010 09:47
An: typo3-german@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@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-----

Hallo Stephan,

da hast Du völlig recht, es ist doch keine gute Idee die erste Session zu belassen und die übrigen Sessions zu killen.

Vielleicht sollte ich mehrfach eingeloggten Benutzern einen Hinweis anzeigen und einen Kill-Button.

lg

Klaus
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an