Folks, Je crée un service RESTful sécurisé en fournissant une signature XML XMLDSIG au bas du document XML. Lorsque j'envoie ce document au serveur, le service WCF effectue la méthode de désérialisation XML sur la charge HTTP pour me donner une classe C#. Malheureusement, pour que cette désérialisation se produise correctement, la définition de classe C# doit avoir toutes les propriétés requises pour définir la signature XML, même si j'en ai seulement besoin pour la sécurité.Suppression des éléments XMLDSIG du POST XML entrant dans le service RESTful de WCF
Alors, ce que je voudrais faire est la suivante:
- construire un comportement de service WCF qui, avant l'appel, examine la signature XML, validation puis bandes hors tension XML avant la dé- sérialisation pour l'appel de méthode ordinaire.
Est-ce possible? Si oui, où puis-je commencer à chercher comment faire cela? J'ai l'impression d'être proche, je n'ai tout simplement pas trouvé le bon point d'injection WCF.
p.s. Tout est .NET 4.0, Visual Studio 2010, IIS 7+.
Je me rends compte que cela ressemble étrangement à la sécurité de niveau de transport intégré de WCF sur le wsHttpBinding ... mais rappelez-vous, c'est REST. Je n'ai pas besoin de cryptage, je n'ai besoin que d'une signature XML signée par une clé privée (standard XMLDSIG ... implémenté par la classe SignedXml de .NET ...) tombée à la fin de ma charge utile puis déconnectée avant que WCF ne tente de sérialiser la charge utile dans une classe C#. –