Einzelnen Beitrag anzeigen

Igotcha

Registriert seit: 22. Dez 2003
544 Beiträge
 
Delphi 2006 Professional
 
#17

Re: MySQL Benutzer mit Zeos ändern/erstellen?

  Alt 3. Jan 2006, 12:19
Zitat von CG2003:
Gibt es noch andere Möglichkeiten? Vielleicht eine Möglichkeit die Idee mit
der zweiten Usertabelle zu realisieren?
Wo genau hast du denn damit Probleme? Ich habe es doch grds. geschildert.

- 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
  Mit Zitat antworten Zitat