AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Adminrechte für Procedure ?

Ein Thema von turboPASCAL · begonnen am 14. Sep 2009 · letzter Beitrag vom 14. Sep 2009
Antwort Antwort
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#1

Adminrechte für Procedure ?

  Alt 14. Sep 2009, 08:07
Hi,

ich muss gleich mal am frühen Morgen eine blöde Frage stellen.
Kann oder wie könnte man für eine Funktion Admin-Rrechte setzen ?

Beispiel. ein Programm startet normal ohne Adminrechte, bei einem Klick auf einen Button soll nun zB.
für das Werkeln in der Registry Adminrechte angefordert werden. (UAC etc. pp.)
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#2

Re: Adminrechte für Procedure ?

  Alt 14. Sep 2009, 08:14
Hallo,

nein, das geht nicht. Rechte gelten immer für den gesamten Prozess. Du hast also zwei Möglichkeiten: Das Programm mit Admin-Rechten neu starten oder einen Out-Of-Process COM-Server starten, welcher als Admin läuft.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#3

Re: Adminrechte für Procedure ?

  Alt 14. Sep 2009, 08:19
Auha, dachte ich mir.

MSDN-Library durchsuchenOut-Of-Process COM-Server hört sich nach Arbeit an. Gibt es da ein Beispiel für ?
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#4

Re: Adminrechte für Procedure ?

  Alt 14. Sep 2009, 08:34
Hallo,

ich hab' da was gefunden: http://weblogs.asp.net/kennykerr/arc...t-Control.aspx. Ob das eine gute Beschreibung ist, kann ich aber nicht sagen, ich hab's mir nicht so genau angesehen.

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

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

Re: Adminrechte für Procedure ?

  Alt 14. Sep 2009, 08:42
Wie wäre es mit MSDN-Library durchsuchenImpersonateLoggedOnUser?

http://www.michael-puff.de/Artikel/Impersonate.shtml
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.610 Beiträge
 
#6

Re: Adminrechte für Procedure ?

  Alt 14. Sep 2009, 08:45
Zitat von xaromz:
Rechte gelten immer für den gesamten Prozess. Du hast also zwei Möglichkeiten: Das Programm mit Admin-Rechten neu starten
Um das zu tun, gibt es seit Vista die neue Restart & Recovery API.

Du kannst also z.B. in einem Programm abprüfen, ob es Admin-Rechte hat. Wenn nicht, dann nimmst Du einen Button und packst da mittels der API dieses Security-Schild drauf.

Du kannst den Status der Anwendung dann speichern (z.B. alle aktuellen Änderungen speichern und die aktuellen nicht Speicherbaren Änderungen irgendwie in ein File schreiben). Dann benutzt Du die Restart & Recovery API, um Deinen Prozess mit Adminrechten neu zu starten. Bestätigt der User die UAC-Abfrage, wird Deine Anwendung neu gestartet und bekommt einen Kommandozeilenschalter mit, dass sie von R&R neu gestartet wurde (den kannst Du festlegen). Dann lädt deine neu gestartete Anwendung den alten Status aus dem File, führt die Änderungen durch und gut ist. Dein alter Prozess wird beendet.

Verneint der User die Bestätigung wird der neue Prozess nicht gestartet und Dein alter läuft eben ohne Admin-Rechte weiter.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#7

Re: Adminrechte für Procedure ?

  Alt 14. Sep 2009, 08:58
@Luckie, guck ich mir an.

@xaromz, danke.


@Phoenix,

Zitat:
Du kannst also z.B. in einem Programm abprüfen, ob es Admin-Rechte hat. Wenn nicht, dann nimmst Du einen Button und packst da mittels der API dieses Security-Schild drauf.
Soweit bin ich schon.

Zitat:
... Dann benutzt Du die Restart & Recovery API, um Deinen Prozess ...
Das hört sich interessant an.

Wenn ich nach "Restart & Recovery API" suche komme ich immer auf irgend welche Backupprogramme.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.610 Beiträge
 
#8

Re: Adminrechte für Procedure ?

  Alt 14. Sep 2009, 09:06
Hier ist der MSDN-Artikel dazu:

Application Recovery and Restart im MSDN

Gibts leider ned auf Deutsch.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#9

Re: Adminrechte für Procedure ?

  Alt 14. Sep 2009, 09:15
Och, das passt schon. C kann man(n) lesen. Danke.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von stOrM
stOrM

Registriert seit: 7. Jun 2003
Ort: Mülheim an der Ruhr
434 Beiträge
 
Delphi 10.3 Rio
 
#10

Re: Adminrechte für Procedure ?

  Alt 14. Sep 2009, 19:44
Wenn Du dir das Übersetzen auch noch sparen willst, ich habs bereits Übersetzt.
Über SVN kannst Du die Sachen in der Unit JwaAppRecovery.pas finden.

SourceForge
  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 16:15 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