AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Login-Funktion: nur ein Benutzer mit bestimmten Zugangsdaten
Thema durchsuchen
Ansicht
Themen-Optionen

Login-Funktion: nur ein Benutzer mit bestimmten Zugangsdaten

Ein Thema von romber · begonnen am 20. Aug 2005 · letzter Beitrag vom 10. Jul 2006
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#1

Login-Funktion: nur ein Benutzer mit bestimmten Zugangsdaten

  Alt 20. Aug 2005, 19:01
Hallo!

Ich stehe vor einer ziemlich komplizierten Aufgabe und weiß nicht genau, ob so etwas überhaupt machbar ist und absturz- und pannensicher funktionieren kann. Und zwar, ich brauche eine Login/Logout-Funktion, die nur einen Benutzer mit den bestimmten Zugangsdaten zur selber Zeit rein lässt. Ich meine, wenn ein Benutzer angemeldet ist und ein zweiter versucht, sich mit den gleichen Zugangsdaten anzumelden, wird dem letzten den Zugang verweigert.

Auf ersten Blick ist das ganze gar nicht so schwer und lässt sich theoretisch mithilfe einer Datenbank realisieren. Man setzt den Status auf "1" wenn Benutzer angemeldet ist auf dann wieder auf "0" wenn Benutzer sich abmeldet. Voraussetzung ist natürlich, dass man das Programm immer richtig heruntergefahren wird. In Wirklichkeit ist die Sache wesentlich komplizierter. Denn niemand ist von einem Windowsabsturz und Strommausfall abgesichert und wenn etwas abstürzt, ist man natürlich nicht abgemeldet und kommt nicht noch mal rein etc. Da muss man wieder irgendwelche Pings einbauen, die wieder mal wahrscheinlich auf IP-Basis funktionieren und somit auch unsicher sind, weil die dynamisch zugewiesen IP-Adressen sich providerseitig ständig ändern... Habe jetzt mittlerweile selbst den Übersicht verloren, was da alles gemacht und berücksichtigt werden muss.

Letztens ist natürlich die Sicherheit des ganzen eine große Frage.

Hat jemand schon so etwas gemacht? Wie würdet Ihr so was realisieren und ob es Sinn macht, damit überhaupt anzufangen? Eure Meinungen und Erfahrungen sind mir jetzt wichtig.

Vielen Dank!
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Login-Funktion: nur ein Benutzer mit bestimmten Zugangsd

  Alt 20. Aug 2005, 20:49
Was für ein OS benutzt du. Steht vielleicht sogar irgendwo ein Windows2000 oder Windows2003 Domänenkontroller rum...

Ich weiss es nicht 100%, aber ich meine in den Gruppenrichtlinien kannst du so Sachen einstellen... Starte doch mal gpedit.msc und wühle dich durch. Das sollte auf XP Prof. zumindest realisierbar sein.
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#3

Re: Login-Funktion: nur ein Benutzer mit bestimmten Zugangsd

  Alt 20. Aug 2005, 20:56
Es läuft sogar Windows Server 2003 Enterprise auf dem Server-Rechner in der Firma, wo das ganze betrieben werden soll. Und eine Activ Directory einzurichten wäre auch kein Problem.

@Jelly: Meinst du jetzt, dass ich die selbst programmierte Anwendung irgendwie in den Domain Controller indegriere oder was? Habe ich nicht ganz vertanden?
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Login-Funktion: nur ein Benutzer mit bestimmten Zugangsd

  Alt 20. Aug 2005, 21:02
Ich würd mal kucken, ob das Ganze eben nicht direkt auf Domänencontroller im AD zu lösen ist. An so Sachen würd ich mich mit Delphi nicht rantrauen. Habt Ihr einen Administrator der in den ganzen AD Einstellungen fit ist, dann frag mal den. Ich bin mir fast sicher, dass es irgendwie dort direkt eine Möglichkeit gibt, die Anzahl der Sitzungen pro Benutzer auf eins zu beschränken.
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#5

Re: Login-Funktion: nur ein Benutzer mit bestimmten Zugangsd

  Alt 20. Aug 2005, 21:27
Was Windows angeht, bin ich mir auch ziemlich sicher, dass es so was gibt Die Frage ist, wie kann ich die Login-Funktion eigenes Programms mit der Benutzereinstellungen der Active Directory zusammenspielen lassen?
  Mit Zitat antworten Zitat
Phistev
(Gast)

n/a Beiträge
 
#6

Re: Login-Funktion: nur ein Benutzer mit bestimmten Zugangsd

  Alt 20. Aug 2005, 21:28
Speicher statt '1' dir aktuelle Zeit in der Datenbank (am bestem als UNIX-Timestamp). Wenn der Login (oder die letzte Aktivität) länger als 3600 Sekunden (1 Stunde) zurückliegt, sollte das Programm abgestürzt sein. Damit brauchst du kein Active Directory
  Mit Zitat antworten Zitat
Palando

Registriert seit: 5. Mai 2005
72 Beiträge
 
#7

Re: Login-Funktion: nur ein Benutzer mit bestimmten Zugangsd

  Alt 20. Aug 2005, 21:47
Du könntest wie Phistev sagte, einfach jede Aktivität überprüfen und wenn keine mehr da ist ausloggen.

Du könntest altlernativ auch einfach den Client alle X Sekunden eine Art "Keep alive"-Signal senden lassen und wenn das ne Zeit lang nicht kommt, ist das Programm tot. Das muss ja im Prinzip nicht oft sein... einmal alle 5 Minuten oder so...


Edit: Wobei ich Phistevs Methode eleganter finde, ehrlich gesagt.
Markus
  Mit Zitat antworten Zitat
Benutzerbild von Jelly
Jelly

Registriert seit: 11. Apr 2003
Ort: Moestroff (Luxemburg)
3.741 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Login-Funktion: nur ein Benutzer mit bestimmten Zugangsd

  Alt 20. Aug 2005, 21:53
Zitat von romber:
Was Windows angeht, bin ich mir auch ziemlich sicher, dass es so was gibt Die Frage ist, wie kann ich die Login-Funktion eigenes Programms mit der Benutzereinstellungen der Active Directory zusammenspielen lassen?
Ach so, ich dacht es ging um die Anmeldung in Windows überhaupt. Wenn es nur um dein eigenes Programm geht, musst du natürlich Hand anlegen. Da hab ich dich falsch verstanden.

Was für eine Datenbank nutzt du dann. Wenn du MSSQL einsetzen kannst, da kannst du dir mal die Tabelle sysprocesses aus der Master Datenbank anschauen, da siehst, welcher Login (loginame) gerade in der Datenbank eingeloggt ist. Du siehst sogar, aus welchem Programm (program_name) heraus er sich in der Datenbank eingeloggt hat. Du kannst ja jetzt bei deinem Programm prüfen, ob schon ein Eintrag für den besagten Login besteht. An die Zeit, wann die letzte Datenbankaktivität war kommst du auch über diese Systemtabellen vom SQL Server... Ich denke damit liesse sich was machen, zumal bei Systemabsturz diese Einträge vom SQL Server in regelmässigen Abständen aktualisiert werden.
  Mit Zitat antworten Zitat
romber

Registriert seit: 15. Apr 2004
Ort: Köln
1.166 Beiträge
 
Delphi 10 Seattle Professional
 
#9

Re: Login-Funktion: nur ein Benutzer mit bestimmten Zugangsd

  Alt 20. Aug 2005, 22:40
Zitat von Palando:
Du könntest wie Phistev sagte, einfach jede Aktivität überprüfen und wenn keine mehr da ist ausloggen.

Du könntest altlernativ auch einfach den Client alle X Sekunden eine Art "Keep alive"-Signal senden lassen und wenn das ne Zeit lang nicht kommt, ist das Programm tot. Das muss ja im Prinzip nicht oft sein... einmal alle 5 Minuten oder so...


Edit: Wobei ich Phistevs Methode eleganter finde, ehrlich gesagt.
Wie sende ich so ein "Keep alive"-Signal? Über TCP-Sockets? Und wenn der Benutzer sich einloggt und dann ändert der Provider die IP-Adresse. Dann kommt Ping ja nie an, und der denkt Server, das Programm sei abgestürzt und loggt der Benutzer aus, obwohl der immer noch online ist. Ich denke, der Client muss sich auch irgendwie melden, a la "ich bin nicht tot" oder so etwas in der Art. Oder verstehe ich etwas falsch?
  Mit Zitat antworten Zitat
Phistev
(Gast)

n/a Beiträge
 
#10

Re: Login-Funktion: nur ein Benutzer mit bestimmten Zugangsd

  Alt 20. Aug 2005, 22:45
Es war davon die Rede, dass der Client das Keep-Alive-Signal sendet, nicht der Server.
Dafür kann man TCP- oder UDP-Sockets verwenden
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 10:24 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