AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Username für Loginbereich aus seperater Datenbank
Thema durchsuchen
Ansicht
Themen-Optionen

Username für Loginbereich aus seperater Datenbank

Ein Thema von Newcomer91 · begonnen am 14. Jun 2011 · letzter Beitrag vom 14. Jun 2011
Antwort Antwort
Newcomer91

Registriert seit: 9. Mär 2010
66 Beiträge
 
Delphi 2010 Professional
 
#1

Username für Loginbereich aus seperater Datenbank

  Alt 14. Jun 2011, 14:41
Datenbank: Firebird • Version: 2.5 • Zugriff über: ?
Hallo Leute,

ich habe eine Frage. Unzwar arbeite ich an einem neuen Projekt welches einen Login Bereich enthalten soll. Die Anwendung wird im Netzwerk laufen und nun zur Umsetzung:

ich brauche eine kleine Datenbank welche eine Tabelle mit 3 Spalten enthält. In diesen 3 Spalten werden Kürzel eingetragen. Die eigentliche Anwendung soll nun den Domänenbenutzernamen mit den Kürzeln aus den 3 Tabellenspalten vergleichen. Die Spalte die zutrifft, z.B. "Administrator" ist dann auch einer der 3 möglichen Eingabemasken die der User dann hat.
Arbeitet also User X mit Programm Y und sein Kürzel X ist in der Spalte Administration zu finden, soll er in den Administratorbereich weitergeleitet werden.

Wie realisiere ich das am besten? Welche Komponenten nehme ich und gibt es kostenlose software zur Unterstützung?
Mein Ding ist nur dass ich noch nicht mit Datenbanken gearbeitet habe. Über korekte Tutorialquellen würde ich mich auch freuen.

Vielen Dank im vorraus.

New
  Mit Zitat antworten Zitat
Benutzerbild von scrat1979
scrat1979

Registriert seit: 12. Jan 2007
Ort: Sulzbach a.d. Murr
1.028 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Username für Loginbereich aus seperater Datenbank

  Alt 14. Jun 2011, 16:47
Ich würde Dir die IBDAC Komponenten empfehlen. Habe klasse Erfahrungen damit gemacht. Desweiteren solltest Du Dir mal ein Tutorial über SQL ansehen. Eine Referenz findest Du hier...

Ich vermute, das ganze soll mit Passworteingabe sein. Ich empfehle Dir, das Passwort nicht im Klartext in der DB zu speichern, sondern den md5-Hash und dann beim Login auf selbigen zu überprüfen. Ob der Login korrekt ist, kannst Du z.B. überprüfen, ob folgender SQL-Syntax einen Datensatz liefert. Wenn ja, dann Login korrekt, wenn nein, dann Login falsch.

Delphi-Quellcode:
SELECT id FROM tblUserDaten ud
WHERE ((ud.Username = xxxx) AND (ud.PassHash = xxxxxxxxx))
Hier solltest im Übrigen Du mit Parametern arbeiten, um SQL-Injections zu verhindern!

Was die Tutorials angeht, liefert Google und die Forensuche genug
Michael Kübler
  Mit Zitat antworten Zitat
CCRDude

Registriert seit: 9. Jun 2011
678 Beiträge
 
FreePascal / Lazarus
 
#3

AW: Username für Loginbereich aus seperater Datenbank

  Alt 14. Jun 2011, 17:50
Wenn ich das richtig verstanden habe, soll die lokale Domäne für die Authentifizierung zuständig sein. Also im worst case hält einfach der Username her, sehr ordentlich geschrieben wird der nochmal verifiziert. Also kein Passwort, sondern nur ein Status.

Wenn aber Passwort, dann nicht bloß Hash, sondern immer nur mit Salz!

Ich denke, der erste Ansatz sollte nicht Code oder gar Komponenten sein, sondern Einlesen in Datenbanken an sich. "Eine Tabelle mit drei Spalten" klingt nicht wie das, was ich aus der Aufgabenbeschreibung verstehe, eher sowas wie eine Username-Rechtestufe-Tabelle wie:
Code:
CREATE TABLE `intra_horde`.`rights` (
`id` INT UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`username` CHAR( 255 ) NOT NULL ,
`level` ENUM( 'unknown', 'newbie', 'advanced', 'admin' ) NOT NULL DEFAULT 'unknown',
UNIQUE ( `username` )
);
Und dann die Abfrage:
Code:
SELECT DISTINCT `level`
FROM `rights`
WHERE `username` LIKE 'KarlOtto';
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Username für Loginbereich aus seperater Datenbank

  Alt 14. Jun 2011, 18:28
Ins Unreine gesprochen,
ich würde dafür zwei Tabellen nutzen "User" und "Rights". ggf. fals einem Benutzer auch mehrere Rechte zugewiesen werden können, noch die "UserRights" für N:N Beziehungen.

Ggf. könnte man auch die LDAP nutzen, wenn DB-User und Login-User immer die gleichen Personen sind. Aber das geht u.U. schon zu weit.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Benutzerbild von rollstuhlfahrer
rollstuhlfahrer

Registriert seit: 1. Aug 2007
Ort: Ludwigshafen am Rhein
1.529 Beiträge
 
Delphi 7 Professional
 
#5

AW: Username für Loginbereich aus seperater Datenbank

  Alt 14. Jun 2011, 20:32
Warum 2 Tabellen? - Statt des ENUMS einfach ein SET verwenden. Das arbeitet intern wie eine Bitmaske und damit kann man die Rechte auch eintragen (auch mehr als 1).

Bernhard
Bernhard
Iliacos intra muros peccatur et extra!
  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 00:55 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