J'ai un service Web wcf + repos avec aspNetCompatibility = "true". Pour fournir une authentification personnalisée, j'ai écrit le module http asp.net: IHttpModule. Le code est assez simple: il suffit d'assigner un principal à la propriété Thread.CurrentPrinicpal.WCF défini Thread.CurrentPrincipal via IHttpModule
Lors de l'exécution de la méthode, j'obtiens toujours le principal 'empty/default' comme valeur de Thread.CurrentPrincipal. J'ai aussi remarqué qu'il y a différents identifiants de threads (Thread.CurrentThread) dans l'exécution du module et de l'opération. J'ai une suggestion que wcf fournisse un nouveau thread pour exécuter l'opération, mais n'a trouvé aucune preuve. Donc la question: Ai-je raison? Est-ce que wcf permet de contrôler ce comportement? Je suis confus ici car la création d'un nouveau thread va automatiquement déplacer le principal vers un nouveau thread. Donc wcf les "nettoie" ..
Le même problème avec principalPermissionMode = "Aucun".
J'apprécierais pour des idées!
À la votre!
Vous avez raison avec la première phrase. En fait, j'ai résolu par IAuthorizationPolicy avec wcf. Mais comme je l'ai écrit, je veux comprendre clairement pourquoi cela fonctionne de cette façon et avons-nous des paramètres pour contrôler ce comportement? – SchmerZ