Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Benutzerrechte: Token Handle woher? (https://www.delphipraxis.net/35896-benutzerrechte-token-handle-woher.html)

freakfly 13. Dez 2004 14:13


Benutzerrechte: Token Handle woher?
 
Hallo!

Ich arbeite gerade mit der Funktion MSDN-Library durchsuchenCreateProcessAsUser. Ich will damit aus einem Programm, dass unter einem anderen Benutzer läuft, wieder eine .exe starten aber unter den Rechten des angemeldeten Benutzers.
Wenn ich das richtig Verstanden habe, kann mich mit dem ersten Argument (hToken) von MSDN-Library durchsuchenCreateProcessAsUser wieder einen Token holen mit den Rechten des angemeldeten Benutzers. Aber woher bekomm ich diesen Token? MSDN-Library durchsuchenSetTokenInformation hab ich gelesen, bin aber nicht schlau draus geworden!

Bin für jeden Hinweis / Tip dankbar!!!!!!

Gruß, freakfly

Luckie 13. Dez 2004 15:05

Re: Benutzerrechte: Token Handle woher?
 
Probier es mal hiermit: http://www.luckie-online.de/Delphi/S...ithLogonW.html -> CreateProcessAsLogonW.html. Die benötigte Unit findest du auch in dem Verzeichnis.

freakfly 13. Dez 2004 15:22

Re: Benutzerrechte: Token Handle woher?
 
Hallo!

Die Funktion ist soweit ja ganz in Ordnung, und ich verwende sie auch, um das erste Programm unterm anderen Benutzer zu starten, aber ein bisschen nervig ist da halt, das ich ne Passwortabfrage einbauen müsste. Eigentlich will ich ja nur ein Programm mit den Rechten vom angemeldeten Benutzer starten.

1. Programm (Benutzer: Normal) -> startet mit MSDN-Library durchsuchenCreateProcessAsLogonW:
2. Programm (Benutzer: Spezial) -> startet :
3. Programm (Benutzer soll der gerade angemeldete Benutzer sein.)

So solls schauen.....

Luckie 13. Dez 2004 15:27

Re: Benutzerrechte: Token Handle woher?
 
Irgendwie diskutieren wir hier wieder in zwei Foren gleichzeitig. Und irgendwie habe ich keine Lust alles zweimal zu schreiben. Und auch keine Lust jetzt den Link in das andere Forum rauszusuchen.

freakfly 13. Dez 2004 15:35

Re: Benutzerrechte: Token Handle woher?
 
Kann ich gut verstehen, aber es ist vielleicht nicht jeder in zwei Foren aktiv....

Was ich meinte war überigens nicht, das man ein Programm unter den Rechten startet unter denen man angemeldet ist. Und sowas müsste ja ohne Passwortabfrage gehen.

Luckie 13. Dez 2004 15:45

Re: Benutzerrechte: Token Handle woher?
 
Nein. Wenn du ein Programm unter einem anderen Benutzer startest, erben alle anderen Programme, die du in dem Prozess startest dessen Rechte. Willst du aus dem ersten Programm wieder ein Prozess unter einem anderem Benutzer starten, ist das wie bei dem ersten Programm. Du brauchts das Passwort.

freakfly 13. Dez 2004 15:53

Re: Benutzerrechte: Token Handle woher?
 
Argh.... so ein Schrott.
Und mit dem Token dingends lässt dich das nicht hinbiegen?
hab gerade gesehen, das ich ein im vorherigen Beitrag ein bisschen Schrott geschrieben hab:

Zitat:

Was ich meinte war überigens nicht, das man ein Programm unter den Rechten eines anderen Benutzer startet, sondern unter dem bereits angemeldeten User. Und sowas müsste ja ohne Passwortabfrage gehen.
Haste du ne Ahnung wos zu dem Token noch irgendwelche Infos gibt? Außer beim MS, das ist immer englisch und schwer verständlich für Anfänger.

freakfly

Luckie 13. Dez 2004 18:48

Re: Benutzerrechte: Token Handle woher?
 
Wenn du das Programm unter dem angemeldeten Benutzer starten willst, dann reicht doch ein einfache Shellexecute oder CreateProcess. :gruebel:

freakfly 13. Dez 2004 21:01

Re: Benutzerrechte: Token Handle woher?
 
Hmmm.. der Theorie nach schon, aber hat die dann nicht auch die Rechte von der Exe von der aus sie aufgerufen wurde??

Luckie 13. Dez 2004 21:14

Re: Benutzerrechte: Token Handle woher?
 
Ja was denn nun?
Zitat:

Was ich meinte war überigens nicht, das man ein Programm unter den Rechten eines anderen Benutzer startet, sondern unter dem bereits angemeldeten User.
:gruebel:
Benutzer ruft mit Admin Account Programm A auf. Programm B ruft Programm C mit den rechnten des Benutzers auf, der Programm A gestartet hat. Genau das wird nur mit Passwort gehen. Es ist ja genauso, als wenn du als anderer Benutzer eingeloggt bist und willst ein programm unter einem anderen Account starten.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:30 Uhr.
Seite 1 von 2  1 2      

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