AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Manipulieren der Benutzerangaben bei Named Pipes

Manipulieren der Benutzerangaben bei Named Pipes

Ein Thema von lordnoxx · begonnen am 26. Jul 2011 · letzter Beitrag vom 28. Jul 2011
Antwort Antwort
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.784 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Manipulieren der Benutzerangaben bei Named Pipes

  Alt 26. Jul 2011, 12:52
Hallo,

die Unit könnte auch hier zu finden sein.
Der Name des Autors ist der selbe.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
lordnoxx

Registriert seit: 26. Jul 2011
4 Beiträge
 
#2

AW: Manipulieren der Benutzerangaben bei Named Pipes

  Alt 26. Jul 2011, 14:05
Jo genau das ist die Unit.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#3

AW: Manipulieren der Benutzerangaben bei Named Pipes

  Alt 26. Jul 2011, 16:47
Ich habe das ganze bei mir umgebastelt für das Verwenden der Zugriffsrechte einer Datei, welche als Property eingetragen werden kann.
Vielleciht kannst Du etwas von den Auszügen brauchen ....


Delphi-Quellcode:
procedure TPipeServer.GenACLFromFile;
//20110228 by Thomas Wassermann
var
  res : Boolean;
  len : Cardinal;
  fDaclPresent,fDaclDefaulted:Bool;
begin
  FACL := nil;
  if Assigned(FpFileSD) then DoHeapFree(FpFileSD);
  if FileExists(FACLFileName) then
    begin
    res := GetFileSecurity(PChar(FACLFileName),DACL_SECURITY_INFORMATION,FpFileSD,0,len);
    if res or (GetLastError() = ERROR_INSUFFICIENT_BUFFER) then
       begin
         FpFileSD := DoHeapAlloc(len);
         GetFileSecurity(PChar(FACLFileName),DACL_SECURITY_INFORMATION,FpFileSD,len,len);
         GetSecurityDescriptorDacl(FpFileSD,fDaclPresent,FACL,fDaclDefaulted);
       end;
    end;
end;

.....
.....
procedure TPipeServer.SetActive(Value: Boolean);
begin

  // Check against current state
  GenACLFromFile;
  if (FActive <> Value) then
  begin
     // Shutdown if active
     if FActive then DoShutdown;
     // Startup if not active
     if Value then DoStartup
  end;

end;


.....
.....


procedure InitializeSecurity(var SA: TSecurityAttributes;ACL:PACL=nil);
var sd: PSecurityDescriptor;
begin

  // Allocate memory for the security descriptor
  sd:=AllocMem(SECURITY_DESCRIPTOR_MIN_LENGTH);

  // Initialise the new security descriptor
  InitializeSecurityDescriptor(sd, SECURITY_DESCRIPTOR_REVISION);

  // Add a NULL descriptor ACL to the security descriptor
  SetSecurityDescriptorDacl(sd, True, ACL, False);

  // Set up the security attributes structure
  with SA do
  begin
     nLength:=SizeOf(TSecurityAttributes) ;
     lpSecurityDescriptor:=sd;
     bInheritHandle:=True;
  end;

end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
lordnoxx

Registriert seit: 26. Jul 2011
4 Beiträge
 
#4

AW: Manipulieren der Benutzerangaben bei Named Pipes

  Alt 28. Jul 2011, 11:04
Ok, erstaml danke für die Antworten.

@ Bummi:

Wenn ich das richtig sehe, dann hast du hier am Code des Servers rumgedreht. Mir geht es aber nicht um die Serverseite sondern einzig um das was beim Client passiert. Ich verusuch das nochmal zu erklären.

Windows1(Client):
User: Bär
Pass: 1234

Windows2(Server):
User: großerBär
Pass: 4321

Der Einfachheit halber sei angenommen, dass sonst keine weiteren Accounts auf den Windowsen sind. Also auch keine Gast-Accounts.

Der Pipe-Client kann sich nun nicht mit dem Pipe-Server verbinden, da die Accounts unterschiedlich sind. Ist es jedoch möglich, im Code des Pipe-Clients statt [User: Bär Pass: 1234] die Kennung des Servers also [User: großerBär Pass: 4321] zu übermitteln, sollte eine Verbindung hinhauen.

Und auf die Umsetzung dieser Idee zielt meine Frage ab. Ist dies Möglich?
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: Manipulieren der Benutzerangaben bei Named Pipes

  Alt 28. Jul 2011, 13:03
Wenn ich Dich richtig verstanden habe meinst Du so etwas wie RunAs?
Die Zugriffsberechtigungen funktionieren wie Dateiberechtigungen.
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 08:03 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