AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Als Administrator authentifizieren
Thema durchsuchen
Ansicht
Themen-Optionen

Als Administrator authentifizieren

Ein Thema von xZise · begonnen am 29. Nov 2007 · letzter Beitrag vom 8. Dez 2007
Antwort Antwort
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#1

Als Administrator authentifizieren

  Alt 29. Nov 2007, 20:54
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
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Als Administrator authentifizieren

  Alt 29. Nov 2007, 21:01
Meist du so was: http://www.michael-puff.de/Artikel/2...redentials.php
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Als Administrator authentifizieren

  Alt 29. Nov 2007, 21:01
Ich kenne diesen Dialog nur so, dass er dem Programm Passwort und Benutzername liefert. Die relevante Funktion heißt MSDN-Library durchsuchenCredUIPromptForCredentials. Ich kann dir hier wirklich die Jwscl ans Herz legen. Die macht das deutlich einfacher.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Als Administrator authentifizieren

  Alt 8. Dez 2007, 19:05
Zitat von Apollonius:
Ich kann dir hier wirklich die Jwscl ans Herz legen. Die macht das deutlich einfacher.
Was sollte man sich da mal angucken?


Zitat von Luckie:
Okay Nicht schlecht nur muss es ab Win2000 lauffähig sein!

MfG
xZise
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Als Administrator authentifizieren

  Alt 8. Dez 2007, 19:09
In JwsclCredentials ist die Klasse TJwCredentialsPrompt, die das Ganze kapselt.

[edit]
Zitat von MSDN über CredUIPromptForCredentials:
Requires Windows Vista or Windows XP.
Wird also nix mit der Api-Funktion.[/edit]
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#6

Re: Als Administrator authentifizieren

  Alt 8. Dez 2007, 19:16
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)
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat
Benutzerbild von argonix
argonix

Registriert seit: 28. Feb 2007
257 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Als Administrator authentifizieren

  Alt 8. Dez 2007, 19:46
Also ich mache das so:
Delphi-Quellcode:
ShellExecute(Handle,'runas',PAnsiChar(Application.Exename),'',PAnsiChar(ExtractFilePath(Application.Exename)),0);
Application.Terminate;
(in FormCreate)
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.
  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 14:26 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