![]() |
Re: MySQL Benutzer mit Zeos ändern/erstellen?
Ähm, sorry für diese peinliche Frage, aber geht das mit MySQL so?
Und wie sieht's mit der Performance dann aus? Das Ganze wird eine Reparatur- und Lagerverwaltung. |
Re: MySQL Benutzer mit Zeos ändern/erstellen?
Zitat:
Bei dem gemeinsamen Datenbanknutzer solltest Du nur darauf achten, dass dieser nur mit den maximal notwendigen Rechten für die Datenbankzugriffe ausgestattet ist - also keine Tabellen löschen, etc. Damit hast Du dann erstmal eine eigene "Benutzerverwaltung" für Dein Programm. Bei mir gibt es dann noch "Rollen" - jeder Nutzer hat eine Rolle und jede Rolle hat bestimmte Rechte, Module meiner modularen Anwendung aufzurufen. Je nach Rolle kannst Du dann z.B. Menüfunktionen ein-oder ausblenden, etc. Du brauchst auch keine Angst zu haben, dass alle Nutzer über einen gemeinsamen Datenbanknutzer zugreifen, denn alle Transaktionen erfolgen über die Connection-ID, sind also eindeutig. Wenn ein USer z.B. einen Datensatz mit Autoinc-Feld einfügt, bekommst Du über LAST_INSERT_ID() die zuletzt eingefügte ID genau des betreffenden Users. Gruß Igotcha |
Re: MySQL Benutzer mit Zeos ändern/erstellen?
Hmm, die Idee gefällt mir sehr gut. Vielen Dank dafür.
Hättest Du vielleicht ein bisschen Code, damit ich mir mal ansehen kann wie Du das ungefähr realisiert hast? Will aber nichts abkupfern, nur mal schauen, wie man es am Besten in Delphi machen kann. Wäre sehr nett. Muss ja nun durch diese Idee mein Programm ein wenig "umkrempeln". |
Re: MySQL Benutzer mit Zeos ändern/erstellen?
|
Re: MySQL Benutzer mit Zeos ändern/erstellen?
Danke! Aber irgendwie sehe ich da nicht ganz durch.
Ich nehm' also so einen Zeos-Connector. Und dann? Wie funktioniert das genau? Funktionieren die Komponenten auch unter Delphi 2006??? Die scheinen momentan nur bis D2005 zu unterstützen. Wird das Ganze in einer Datenbank oder bzw. Tabelle gespeichert? Weil sonst bringt es mir ja nichts. Ich entwickle ja unter D2006. |
Re: MySQL Benutzer mit Zeos ändern/erstellen?
Zitat:
Wird wohl doch nur bis Delphi 2005 unterstützt. Gibt es noch andere Möglichkeiten? Vielleicht eine Möglichkeit die Idee mit der zweiten Usertabelle zu realisieren? |
Re: MySQL Benutzer mit Zeos ändern/erstellen?
Zitat:
- Du erstellst in Deiner Anwendung einen Login-Dialog - dann fragst Du ab:
Delphi-Quellcode:
ZQuery1 hat als Connection eine ZEOS-DBConnection mit dem gemeinsamen Datenbankuser
bLogin:=false; Zquery1.Sql.Text:='SELECT * FROM sys_user WHERE username=:username AND password=:password'; Zquery1.ParamByName('username').AsString:=Edit1.Text; Zquery1.ParamByName('password').AsString:=Edit2.Text; // ich vergleiche bei mir hier ein MD5 Passwort Hash Zquery1.Open; if Zquery1.RecordCount > 0 then // Login erfolgreich begin bLogin:=true iRoleID:=ZQuery1.FieldByname('roleid').AsInteger; end else // Login nicht erfolgreich bLogin:=false; ZQuery1.Close; Dann machst Du z.B. im OnShow der Mainform: Zquery1.Sql.Text:='SELECT * FROM modules m, sys_role_rights r WHERE r.roleid=:roleid AND m.moduleid=r.moduleid'; Zquery1.ParamByName('roleid').AsInteger:=iRoleID; ZQuery1.Open; While not ZQuery1.EoF do begin // Hier z.B. Menübaum aufbauen, etc. ZQuery1.Next; end; Zquery1.Close; Die Tabelle sys_role_rights kann z.B. so aufgebaut sein: ID ROLEID MODULEID 1 1 1 2 1 2 3 1 5 4 2 4 |
Re: MySQL Benutzer mit Zeos ändern/erstellen?
Achso!!!
Sorry, war ein kleiner Denkfehler meinerseits. Vielen Dank dafür. Ich werde mal meine Anwendung umkrempeln und schauen, wie ich damit zurecht komme. Vielen Dank nochmals... |
Re: MySQL Benutzer mit Zeos ändern/erstellen?
So, habe nun alles umgekrempelt und logge mich als EINEN MySQL-User ein.
Danach wird durch ein Login-Formular in einer Tabelle (Benutzername - Kennwort - Rechte) geprüft, ob der User vorhanden ist. Wenn ja, wird das Hauptfenster geöffnet, wenn nein wird eine Fehlermeldung angezeigt. Und was soll ich sagen: ES FUNKTIONIERT EINWANDFREI!!! :wink: Vielen Dank an Alle! Vielen Dank, DP... :dp: (Könnte glatt so'n Werbespruch werden... :lol:) |
Re: MySQL Benutzer mit Zeos ändern/erstellen?
Gern geschehen :-)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:51 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-2025 by Thomas Breitkreuz