J'essaie de connecter un processus CGI à mon service Windows avec un canal nommé. Mon code s'exécute correctement en utilisant un autre serveur sur mon ordinateur de développement, mais sur IIS il y a des problèmes de sécurité lorsque j'appelle CreateFile() dans le processus CGI. Le service Windows est le serveur de canaux nommés. Par conséquent, le processus CGI tente de se connecter à ce canal nommé en tant que client.Windows ACL Named-Pipe sous IIS
J'ai déterré un code qui crée un descripteur de sécurité globale avec le drapeau SECURITY_WORLD_SID_AUTHORITY en appelant:
InitializeAcl()
AddAccessAllowedAce()
SetSecurityDescriptorDacl()
Mais je ne comprends pas vraiment le concept. Je suppose que le serveur Pipe CreateNamedPipe() doit être appelé avec cette ACL dans la structure SECURITY_ATTRIBUTES mais qu'en est-il du client Pipe nommé? Est-ce que je crée un autre descripteur de sécurité global et appelle CreateFile() avec cela?
Est-ce que je posséderai avec
SecurityAttributes.bInheritHandle = TRUE;
Est-ce que je viens de passer Null dans le CreateFile() appeler?
Il serait utile de savoir à quel compte le processus CGI est exécuté. – Murray
Eh bien, j'ai laissé cela parce que j'ai l'intention de changer cela. Actuellement, il s'agit d'un compte d'utilisateur avec des privilèges d'administration, mais pourrait éventuellement être IUSER –