AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Angemeldete Benutzer in der eigenen Anwendung erkennen
Thema durchsuchen
Ansicht
Themen-Optionen

Angemeldete Benutzer in der eigenen Anwendung erkennen

Ein Thema von Mattin · begonnen am 23. Jun 2004 · letzter Beitrag vom 23. Jun 2004
Antwort Antwort
Mattin

Registriert seit: 4. Sep 2003
72 Beiträge
 
Delphi 7 Professional
 
#1

Angemeldete Benutzer in der eigenen Anwendung erkennen

  Alt 23. Jun 2004, 16:14
Hallo Zusammen,

sicherlich hat der ein oder andere von Euch schonmal ein Programm mit einer Benutzerverwaltung erstellt.

Ich hätte da einige Fragen wie der ein oder andere das handhabt.

- Wie würdet Ihr den Benutzer wenn dieser an das Programm angemeldet ist erkennen ?

Sicherlich könnte man bei der Anmeldung in der Benutzerverwaltung ein Flag setzen
Benutzer angemeldet -> TRUE / FALSE

Nachteil, wenn der Benutzer den Rechner ausschaltet ohne sich von der Anwendung ordnungsgemäß abgemeldet zu haben,
steht das Flag in der Benutzerverwaltung immer noch auf TRUE. Der Benutzer benutzt aber das Programm im Moment nicht
mehr.

- Wie kann man dem Benutzer in der Anwendung in allen Formen eine Nachricht zukommen lassen das er sich von Anmeldung
abmelden soll ? Ich meine eine Art Systemnachricht im eigenen Programm.


Vielleicht hat einer von Euch ja Ideen zu diesem Thema.
Mit freundlichen Grüßen
Mattin

http://www.martin-karwoth.de
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#2

Re: Angemeldete Benutzer in der eigenen Anwendung erkennen

  Alt 23. Jun 2004, 16:24
Zitat von Mattin:
Sicherlich könnte man bei der Anmeldung in der Benutzerverwaltung ein Flag setzen
Benutzer angemeldet -> TRUE / FALSE

Nachteil, wenn der Benutzer den Rechner ausschaltet ohne sich von der Anwendung ordnungsgemäß abgemeldet zu haben,
steht das Flag in der Benutzerverwaltung immer noch auf TRUE. Der Benutzer benutzt aber das Programm im Moment nicht
mehr.
Ich glaube, das ist deine geringste Sorge. Wenn der User nämlich den Rechner abschaltet, ohne sich vorher von deinem Programm abzumelden, dann dürfte auch das Flag nicht mehr auf TRUE stehen.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#3

Re: Angemeldete Benutzer in der eigenen Anwendung erkennen

  Alt 23. Jun 2004, 16:29
Stimmt. Ausser, der Wert steht in einer Datenbank

Aber für soetwas gibt es normalerweise Session-Timeouts:
Wird an einer Sitzung für eine bestimmte Zeit nicht mehr gearbeitet, wird der User automatisch ausgeloggt. Das 'Arbeiten' in der Sitzung kann die Anwendung durch regelmässiges polling selber erledigen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Mattin

Registriert seit: 4. Sep 2003
72 Beiträge
 
Delphi 7 Professional
 
#4

Re: Angemeldete Benutzer in der eigenen Anwendung erkennen

  Alt 23. Jun 2004, 16:39
Zitat von Phoenix:
Stimmt. Ausser, der Wert steht in einer Datenbank
Das Flag würde in der Datenbank gespeichert, also ist der Benutzer danach noch angemeldet.

Zitat:
Aber für soetwas gibt es normalerweise Session-Timeouts:
Wird an einer Sitzung für eine bestimmte Zeit nicht mehr gearbeitet, wird der User automatisch ausgeloggt. Das 'Arbeiten' in der Sitzung kann die Anwendung durch regelmässiges polling selber erledigen.
Angenommen die Datenbank wäre kein Client/Server System in diesem Fall. Die Datenbank ist Paradox. Gibt es da soetwas wie ein Session-Timeout?
Mit freundlichen Grüßen
Mattin

http://www.martin-karwoth.de
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.639 Beiträge
 
#5

Re: Angemeldete Benutzer in der eigenen Anwendung erkennen

  Alt 23. Jun 2004, 16:46
Das müsste man über polling realisieren:

Der Client schreibt solange er angemeldet ist, reglemässig einen aktuellen Timestamp in die Datenbank. Am besten in einer Session-Tabelle, die sagt wann sich welcher Nutzer angemeldet hat und wann der letzte Poll her ist (eben dieser Timestamp).

Nun geht jede Anwendung her, und löscht VOR der eigentlichen Anmeldung alle Datensätze, deren Timestamp älter ist als Now() - Timeout. Dies macht auch das Polling, und zwar bevor es den eigenen Timestamp reinschreibt.

Somit ist sichergestellt, das zu jedem Zeitpunkt an dem ein Nutzer hier an die DB will, _vorher_ alle abgelaufenen Sessions gelöscht werden.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:25 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz