![]() |
Als Administrator authentifizieren
Hi DP,
kann ich irgendwie in meine Anwendung eine Passwortabfrage einbauen, welche nach Adminrechten verlangt? Also im konkreten Fall habe ich eine Anwendung welche jeder starten kann, aber damit kann man im Netzwerk ein bisschen die anderen Ärgern (ich möchte hinweisen: Es handelt sich nicht um Malware. Im Gegenteil! Die Software soll den Admins auf der Schule helfen Schüler, die nicht artig sind zu identifizieren, aber egal ^^). Aber dass soll nicht jeder 0815-User machen, aber wenn man sich als Admin authentifiziert, führt er die Befehle aus? Ich dachte da an einen kleinen Dialog mit Benutzername und einen Passwortfeld. Naja, ich selber kann das nicht machen (bzw. es wäre sehr unsicher), weil dadurch bekäme ich das Passwort... Ich dachte an einen Dialog von Windows, welche dann als Ergebnis nur Benutzername + Authentifizierung erfolgreich liefert. MfG xZise |
Re: Als Administrator authentifizieren
Meist du so was:
![]() |
Re: Als Administrator authentifizieren
Ich kenne diesen Dialog nur so, dass er dem Programm Passwort und Benutzername liefert. Die relevante Funktion heißt
![]() |
Re: Als Administrator authentifizieren
Zitat:
Zitat:
MfG xZise |
Re: Als Administrator authentifizieren
In JwsclCredentials ist die Klasse TJwCredentialsPrompt, die das Ganze kapselt.
[edit] Zitat:
|
Re: Als Administrator authentifizieren
Es gibt übrigens keine einfache Art, Passwörter sicher entgegenzunehmen. Jedes Programm könnte die Daten auslesen.
Ein Passwort sicherer entgegenzunehmen, wenn der User kein Administrator ist, wäre es den Desktop umzuschalten und alle Programme darauf auszusperren. Das geht jedoch nur über einen Dienst. Du kannst also eine eigene Eingabe für das Passwort programmieren. Du solltest aber darauf achten, dass das Passwort im Speicher nach gebraucht mit sinnlosen Daten überschrieben wird. (oder ZeroMemory) |
Re: Als Administrator authentifizieren
Also ich mache das so:
Delphi-Quellcode:
(in FormCreate)
ShellExecute(Handle,'runas',PAnsiChar(Application.Exename),'',PAnsiChar(ExtractFilePath(Application.Exename)),0);
Application.Terminate; Damit wird die Anwendung beendet und neu ausgeführt, damit sich der Nutzer als Admin anmelden kann. (Ob das Programm mit Adminrechten läuft wird natürlich noch geprüft) Das ist zwar nicht die eleganteste Lösung, funktioniert jedoch problemlos. :wink: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:21 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