Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi zentrale Benutzerverwaltung (https://www.delphipraxis.net/68295-zentrale-benutzerverwaltung.html)

uht 27. Apr 2006 15:33


zentrale Benutzerverwaltung
 
Hallo erstmal,

ich arbeite zur Zeit an einem Zeitverwaltungsprogramm, also so ner Art Stempeluhr mit Auftragsbezogenen Stempelzeiten.
Für die Speicherung der Daten nutze ich eine zentrale mysql-Datenbank. Die einzelnen Benutzer haben die EXE des Programms auf ihrem Rechner, also es gibt kein zentrales Programm auf dem Server mit dem die Clients kommunizieren.

Für dieses Programm brauche ich nun eine zentrale Benutzer und Passwortverwaltung.
Bisher hatte ich die Benutzerdaten in einer mysql-Tabelle abgespeichert, um aber an diese Tabelle zu kommen benötigt das Programm die Zugangsdaten für die mysql-Datenbank (also Benutzername und Passwort).
Wie kann ich diese nun am besten lokal und verschlüsselt speichern, sodass der Benutzer nicht noch ein zusätzliches Passwort zum Entschlüsseln eingeben muss.

Wäre nett wenn mir jemand helfen könnte der eine Idee oder auch schon Erfahrung mit Benutzerverwaltungen hat.
Ich bin auch offen für neue Konzepte.

mkinzler 27. Apr 2006 15:34

Re: zentrale Benutzerverwaltung
 
Ich verwende immer eine Ini-Datei und verschlüssele darin die Zugangsdaten z.B. mit 3DES.

uht 27. Apr 2006 15:44

Re: zentrale Benutzerverwaltung
 
So hatte ich mir das auch erst gedacht, aber irgendwo muss dann ja der Schlüssel zum decodieren hinterlegt sein. Wenn ich ihn in die exe reinschreibe kann er ja einfach durch decomplilieren ermittelt werden, oder?

Klaus01 27. Apr 2006 15:47

Re: zentrale Benutzerverwaltung
 
du könntest das Passwort als haswert in die IniDatei speichern.
Gibt der Nutzer ein Passwort ein wird darüber wieder ein Hashwert gebildet und
mit dem abgespeicherten verglichen.

Grüße
Klaus

jim_raynor 27. Apr 2006 16:58

Re: zentrale Benutzerverwaltung
 
Und verbindest du dich auch über eine abgesicherte Leitung zum MySQL-Server oder wird das Passwort im Klartext übertragen (so wie es standard ist).

Der Datenbanknutzer, der in der Applikation besteht, sollte nur sehr eingeschränkte Rechte haben. Genau die Rechte, die er für die Durchführung der Arbeiten braucht. Vielleicht ist es auch besser einen Server dazwischen zu schalten, der die Datenbank abfragen ausführt, denn ich glaube nicht, dass es gut ist, wenn eine Clientanwendung direkt mit einer Server-Datenbank arbeitet. Da ist es schon besser wenn der Client mit einem Server kommuniziert, der dann die Anfragen/Berechnungen/Aktionen was auch immer ausführt und dann das Ergebnis zurückliefert.

uht 29. Apr 2006 09:51

Re: zentrale Benutzerverwaltung
 
Zitat:

Zitat von jim_raynor
Und verbindest du dich auch über eine abgesicherte Leitung zum MySQL-Server oder wird das Passwort im Klartext übertragen (so wie es standard ist).

Mmh, das habe ich bis jetzt noch garnicht beachtet. Ich hatte mich bisher so ziemlich blind auf den apacheserver und die libmySQL.dll verlassen. Wie kann ich das denn kontrollieren?

Zitat:

Zitat von jim_raynor
Vielleicht ist es auch besser einen Server dazwischen zu schalten, der die Datenbank abfragen ausführt, denn ich glaube nicht, dass es gut ist, wenn eine Clientanwendung direkt mit einer Server-Datenbank arbeitet. Da ist es schon besser wenn der Client mit einem Server kommuniziert, der dann die Anfragen/Berechnungen/Aktionen was auch immer ausführt und dann das Ergebnis zurückliefert.

Ohoh, das riecht nach Arbeit. Kannst du mir ein Tutorial empfehlen mit dem ich mich in die Server-Client Programmierung speziell in die Kommunikation untereinander einarbeiten kann?


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz