Bonjour à tous,
j'ai un webform avec lequel je dois lancer des impressions (sur imprimantes ZEBRA, mais ça peu importe.) avec la classe PrintDocument
Je précise que mon site intranet utilise une Authentification windows (C'est important pour la suite).
Sur mon pc en local, j'ai déclaré une imprimante réseau, pas de souci, les impression sortent!(Précision, je suis admin de mon poste)
J'ai déployé mon intranet sur mon serveur d'homologation qui possèdent la même imprimante réseau.
Lorsque je lance une impression en authentification windows, cela ne fonctionne pas: je dirai que cela est normal, car en authentification windows il y a une protection au niveau process IIS qui empêche d'accéder au ressources réseaux.
C'est la raison pour laquelle lors du lancement d'impression j'utilise l'impersonation avec LOGON32_LOGON_INTERACTIVE qui permet d'utiliser les ressources réseaux: j'ai déjà utilisé ce process pour écrire sur du partage réseau (vu qu'en windows athentification cela ne pouvait pas fonctionner).
Malheureusement, même avec l'impersonation ça ne fonctionne pas, sauf si je mets l'utilisateur avec lequel je fais l'emprunt d'identité dans le groupe Administrateur de mon serveur...chose bien entendu que je ne souhaite pas faire en production.
Mon utilisateur fait bien parti des mes utilisateurs à pouvoir imprimer sur cette imprimante (onglet sécurité), pire Tout le monde est autorisé à imprimer sur cette imprimante!!!!
Donc il me manque certainement quelque chose pour que cela puisse fonctionner.
Voici tout de même mon exception que je rencontre:
En inspérant que vous auriez une idée qui pourrait résoudre mon problème.Opération réussie
at System.Drawing.Printing.StandardPrintController.OnStartPrint(PrintDocument document, PrintEventArgs e)
at System.Windows.Forms.PrintControllerWithStatusDialog.OnStartPrint(PrintDocument document, PrintEventArgs e)
at System.Drawing.Printing.PrintController.Print(PrintDocument document)
at System.Drawing.Printing.PrintDocument.Print()
at view_wms_rgpwave_rgpwave.bPrintRgp_Click(Object sender, ImageClickEventArgs e)
Merci d'avance.
Anthony
Partager