Hallo
die Sache ist ein bißchen doof gelöst, finde ich. Es verhältsich nämlich so:
der „Online-Status“ eines Users bestimmt sich durchdas Feld „LastActivityDate“ im Membership Modell.
Dieses wird gesetzt, sobald ein Benutzer mit seinen User-Eigenschafteninteragiert. Ist das LastActivityDate
länger her als das Standard Zeitfenster (15) Minuten, ist derUser „offline“.
Mit Membership.getUsers(true) bekommst du alle User, die nachdieser Methode als online deklariert sind.
Jetzt aber der eigentlich Clou:
das LastActivityDate wird IMMER geupdatet, sobald auf dieProfileigenschaften eines Users zugegriffen wird. Also egal,
ob es der User selbst war oder nicht.
Sprich: mache ich z.B. eine Auflistung aller User in einemGridview, und lade pro User noch irgendwelche Profileigenschaften
zur Ansicht, setze ich dadurch alle LastActivityDates der Userauf „jetzt“ und befördere sie somit in den Status „online“.
Keine Ahnung, was die Jungs sich dabei gedacht haben, ich findes jedesfalls ziemlich blöd.
Von: Bernhard Brause[mailto:bounce-ComSport@glengamoi.com]
Gesendet: Montag, 9. Juni 2008 15:26
An: tb@sitepoint.de
Betreff: [Sec] Welche User sind online?
Hallo,
wie kann ich feststellen, welche User (sofern sie sich angemeldet haben)gerade online sind? Ich benutze die anz normalen Membershipfunktionen von ASP.net2.0.
Vielen Dank im Voraus und
viele Grüße