AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Programm im Programm mit standard Rechten starten..?!
Thema durchsuchen
Ansicht
Themen-Optionen

Programm im Programm mit standard Rechten starten..?!

Ein Thema von freakfly · begonnen am 9. Dez 2004 · letzter Beitrag vom 26. Dez 2004
Antwort Antwort
freakfly
(Gast)

n/a Beiträge
 
#1

Programm im Programm mit standard Rechten starten..?!

  Alt 9. Dez 2004, 13:00
Hallo!

Ich habe ein Problem, und werde mal versuchen dieses zu erklären....
Ich bin am PC eingelogged als unser "Standard". Ich habe ein Programm gecodet, dass ein anderes mit einem anderen User startet (User "RunAppl"). Dies mache ich mit MSDN-Library durchsuchenCreateProcessWithLogonW. Aus diesem Programm muss wieder ein Programm gestartet werden, aber wieder mit den Rechten des angemeldeten Benutzers.
Dies würde zwar auch mit derselben Funktion gehen, aber dazu müsste ich immer das Passwort des bereitsangemeldeten Benutzers wissen....

Wenn jemand Fragen und Ideen hat, bitte posten!!!

Danke, Gruß, Freakfly
  Mit Zitat antworten Zitat
Assarbad
(Gast)

n/a Beiträge
 
#2

Re: Programm im Programm mit standard Rechten starten..?!

  Alt 26. Dez 2004, 16:21
Zitat von freakfly:
Ich habe ein Problem, und werde mal versuchen dieses zu erklären....
Ich bin am PC eingelogged als unser "Standard". Ich habe ein Programm gecodet, dass ein anderes mit einem anderen User startet (User "RunAppl"). Dies mache ich mit MSDN-Library durchsuchenCreateProcessWithLogonW. Aus diesem Programm muss wieder ein Programm gestartet werden, aber wieder mit den Rechten des angemeldeten Benutzers.
Dies würde zwar auch mit derselben Funktion gehen, aber dazu müsste ich immer das Passwort des bereitsangemeldeten Benutzers wissen....

Wenn jemand Fragen und Ideen hat, bitte posten!!!
Okay, User A startet Programm A im Kontext von User B. Danach läuft Programm A also im Kontext von User B. Wenn du normal per ShellExecute() von Programm A (im Kontext von User B) aus ein weiteres Programm B startest, geschieht dies ebenfalls im Kontext von User B. Soll Programm B nun aber wiederum im Kontext von User A gestartet werden, so mußt du CreateProcessWithTokenW() benutzen und vorher mit DuplicateToken() eine Kopie des Logontokens von User A an Programm A weitergeben. Somit kann Programm A das Programm B im Kontext von User A starten ohne das Paßwort zu kennen, denn User A ist ja bereits eingeloggt, es existiert also ein gültiges Token

  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:14 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