Login Unit nachträglicheinführen?

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

Login Unit nachträglicheinführen?

Beitrag von TT73GP7 »

Hallo zusammen,

ich habe eine fast fertige Anwendung
nun möchte ich aber einen Login haben

wie kann ich denn beim falschen Login die Anwendung am besten schlissen?

mit Close; ?

und wie kann ich das erzeugen der Units in nachhinein ändern?
das halt nur die erzeugt wird?

VG
:)

Mathias
Beiträge: 6160
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Login Unit nachträglicheinführen?

Beitrag von Mathias »

Dies wäre ein Weg:

Code: Alles auswählen

procedure TForm1.FormShow(Sender: TObject);
begin
  if PasswordBox('Login', 'Passwort') <> '1234' then begin
    Close;
  end;
end
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Warf
Beiträge: 1908
Registriert: Di 23. Sep 2014, 17:46
OS, Lazarus, FPC: Win10 | Linux
CPU-Target: x86_64

Re: Login Unit nachträglicheinführen?

Beitrag von Warf »

Innerhalb deines Hauptformulars reicht ein Close, da mit dem Schließen dieses die LCL die Anwendung automatisch beendet. Aus einer anderen form heraus würde ich Application.Terminate verwenden.

TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

Re: Login Unit nachträglicheinführen?

Beitrag von TT73GP7 »

ernsthaft?

so einfach ist das?

ich kenne PasswordBox garnicht
das muss ich mal alles durchprobieren sobald ich wieder in Büro bin (heute abend)

MmVisual
Beiträge: 1445
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: Login Unit nachträglicheinführen?

Beitrag von MmVisual »

TZConnection kann bei leerem Passwort-Feld ein Login Dialog zeigen. Damit schützt man sich vor unberechtigtem Zugriff auf die Daten der MySQL Datenbank. Das Passwort ist somit das Datenbank-Passwort.
EleLa - Elektronik Lagerverwaltung - www.elela.de

TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

Re: Login Unit nachträglicheinführen?

Beitrag von TT73GP7 »

hach geht garnicht mal so sehr um Datensicherheit

sondern eher wer welche aktion in der Software gemacht hat
wer welche Messung angelegt hat
wer welchen Wert in die Software eingelesen hat

sowas halt ;)

dummerweise arbeiten mehre Leute an einen Rechner
sonst hätte ich einfach den Rechner Login genommen

TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

Re: Login Unit nachträglicheinführen?

Beitrag von TT73GP7 »

Mathias hat geschrieben:Dies wäre ein Weg:

Code: Alles auswählen

procedure TForm1.FormShow(Sender: TObject);
begin
  if PasswordBox('Login', 'Passwort') <> '1234' then begin
    Close;
  end;
end


hach leider nein
da kann man ja nur sein PAsswort eingeben aber keinen usernamen

also doch selber bauen
gibt es da was fertiges?

oder eher nicht?

vg,

:)

MmVisual
Beiträge: 1445
Registriert: Fr 10. Okt 2008, 23:54
OS, Lazarus, FPC: Winuxarm (L 3.0 FPC 3.2)
CPU-Target: 32/64Bit

Re: Login Unit nachträglicheinführen?

Beitrag von MmVisual »

Mache es doch nicht so kompliziert. Du willst doch nicht wirklich Datensicherheit sondern nur wissen wer gerade an dem PC rumfummelt.

Mache rechts oben ein Button "Wechse User", der öffnet ein Popup-Menü:

<LogOff>
Maier
Müller
Schulze


und gut ist. Damit hat man sich blitzschnell eingeloggt/ausgeloggt und kein ewiges tippen.
EleLa - Elektronik Lagerverwaltung - www.elela.de

marcov
Beiträge: 1100
Registriert: Di 5. Aug 2008, 09:37
OS, Lazarus, FPC: Windows ,Linux,FreeBSD,Dos (L trunk FPC trunk)
CPU-Target: 32/64,PPC(+64), ARM
Wohnort: Eindhoven (Niederlande)

Re: Login Unit nachträglicheinführen?

Beitrag von marcov »

Close endet nur das heutigen Form. Es soll Application.Terminate sein.

TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

Re: Login Unit nachträglicheinführen?

Beitrag von TT73GP7 »

hach ich muss nochmal das Thema etwas aufwärmen :(

also ich habe da die Unit main
die wird als erstes angezeigt von da an kann man die anderen Unit's aufrufen
nun soll aber als erstes die Unit Login angezeigt werden

und wenn der User sich auch wirklich eingeloggt hat soll die Unit Main geöffnet werden und die Unit Login geschlossen werden.

ich muss die Reihenfolge in welcher die Formen angezeigt werden irgendwie bestimmen können oder?

hätte ich gleich zu Anfang das Projekt so entwickelt wäre es ja kein Problem
aber nun?

TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

Re: Login Unit nachträglicheinführen?

Beitrag von TT73GP7 »

ok die Units in der Reihenfolge ändern kann ich über die Projekt Einstellung machen

das ist kein Problem

nur wenn ich dann das Login Fenster mit Close Schließen will
geht die ganze Anwendung zu

das ist blöd

Nixsager
Beiträge: 168
Registriert: Sa 8. Okt 2016, 08:38
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Polska

Re: Login Unit nachträglicheinführen?

Beitrag von Nixsager »

Die Hauptunit kannst du in den Projekt-Einstellungen angeben.
Wenn die geschlossen wird, schließt natürlich auch dein Programm, denn sie des Fundament da.

Bei sowas, würde ich eine Haupt- bzw. Startunit machen, von der dann die Login-Unit aufgerufen wird, und wenn die Login-Unit geschlossen wird, geht es in der Hauptunit weiter usw.
Jeder der sagt, ich könnte programmieren, der hat noch weniger Ahnung vom programmieren als ich!!!

TT73GP7
Beiträge: 238
Registriert: Di 29. Mär 2016, 20:45

Re: Login Unit nachträglicheinführen?

Beitrag von TT73GP7 »

hach

ich muss das alles nochmal überdenken

Nixsager
Beiträge: 168
Registriert: Sa 8. Okt 2016, 08:38
OS, Lazarus, FPC: Winux (L 0.9.xy FPC 2.2.z)
CPU-Target: xxBit
Wohnort: Polska

Re: Login Unit nachträglicheinführen?

Beitrag von Nixsager »

Ich kann die ein Beispiel machen wie ich mir das gedacht habe.
Jeder der sagt, ich könnte programmieren, der hat noch weniger Ahnung vom programmieren als ich!!!

malabarista
Beiträge: 321
Registriert: Sa 11. Jun 2016, 12:16
OS, Lazarus, FPC: Linux Mint 18.1 L1.6.2-1 FPC 3.0.0
CPU-Target: 64Bit
Wohnort: Konstanz

Re: Login Unit nachträglicheinführen?

Beitrag von malabarista »

Eine andere Lösung:
in deinem Mainform rufst du beim ersten OnShow dein eigenes Loginformular mittels Showmodal auf.
In deinem Loginformular kannst du dann soviele Daten (=Namen, Passwort, usw.) abprüfen wie du willst.
Und du gibst lediglich mrOk oder mrCancel zurück.
Und weil du im Main bist, kannst du im Fehlerfalle (=mrCancel) mit einem Close alles beenden.

Antworten