Nous essayons de "verrouiller" un ordinateur de sorte que nous ayons un compte de connexion générique pour Windows XP qui a très peu d'autorisations. Notre logiciel est ensuite lancé via un lanceur qui l'exécute en tant qu'utilisateur plus privilégié, lui permettant d'accéder au système de fichiers.ValidateUser au lieu de LogonUser?
Ensuite, un opérateur se connectera à notre logiciel et nous espérions authentifier leurs informations d'identification en utilisant la fonction win32 LogonUser()
. Le problème que nous voyons, cependant, est que nous voulons définir les opérateurs de logiciels avec une stratégie de groupe «Refuser l'ouverture de session localement», mais en configurant cela, cela empêche la fonction LogonUser() de fonctionner. Je comprends que nous pourrions contourner cela en passant LOGON32_LOGON_NETWORK
au lieu de LOGON32_LOGON_NETWORK
à LogonUser()
mais je ne voulais pas vraiment faire car cela crée d'autres problèmes. Au lieu de cela, je me demandais s'il y a quelque chose comme la fonction ValidateUser()
de C# en C++?
(BTW nous compilation avec VS2003 si c'est pertinent)
La conception semble être fondamentalement cassée, et ce n'est donc pas une surprise pour moi que les API vous donnent des problèmes. Microsoft a passé beaucoup de temps à sécuriser la connexion Windows, et je ne pense pas qu'il soit possible d'atteindre ce niveau de sécurité dans une simple application. – MSalters
Vous avez raison de dire que Microsoft a passé beaucoup de temps à sécuriser Windows - d'où notre décision d'essayer de réutiliser la base de données des utilisateurs Windows dans notre logiciel. –