Bonjour,
Je travaille sur une application en C# de type Windows Forms.
Cette application utilise des APIs pour se connecter à un logiciel extérieur et lancer des traitements dessus (HFM d'Hyperion-Oracle pour info).
Par défaut, mon code plante lorsque j'appelle la fonction de connexion de l'API. Pour que cela fonctionne, il faut que je modifie les propriétés par défaut de communication DCOM en mettant :
- Niveau d'authentification par défaut : Aucun
- Niveau d'emprunt d'identité par défaut : Anonyme
Pour ne pas dépendre de la configuration du poste sur lequel mon application va être déployée, j'aimerai gérer cette configuration dans mon code.
En me basant sur des exemples trouvés sur le net, j'ai écrit ceci mais cela ne fonctionne pas :
Lorsque je veux appeler "Impersonate()" sur l'utilisateur anonyme j'obtiens une exception :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 WindowsIdentity CurrentIdentity = WindowsIdentity.GetCurrent(); WindowsImpersonationContext ImpersonatedUser = WindowsIdentity.GetAnonymous().Impersonate(); // Ma connexion ImpersonatedUser.Undo();Est-ce que quelqu'un saurait comment, par du code C#, reproduire la configuration manuelle que j'avais effectuée sur mon poste ?Une identité anonyme ne peut pas exécuter un emprunt d'identité.
Merci d'avance pour votre aide.
Partager