J'ai un service WCF qui peut fonctionner sous la forme d'une application console et d'un service Windows. J'ai récemment copié l'application de la console sur un serveur W2K3 avec les paramètres de sécurité suivants:Sécurité WCF dans un service Windows
<wsHttpBinding>
<binding name="ServiceBinding_Security" transactionFlow="true" >
<security mode="TransportWithMessageCredential" >
<message clientCredentialType="UserName" />
</security>
</binding>
</wsHttpBinding>
<serviceCredentials>
<userNameAuthentication userNamePasswordValidationMode="Custom"
customUserNamePasswordValidatorType="Common.CustomUserNameValidator, Common" />
</serviceCredentials>
sécurité fonctionne très bien sans problème. J'ai exactement le même code, mais en cours d'exécution dans un service Windows et je reçois l'erreur suivante lorsque je tente d'appeler l'une des méthodes d'un client:
System.ServiceModel.Security.MessageSecurityException was unhandled
Message="An unsecured or incorrectly secured fault was received from
the other party. See the inner FaultException for the fault code and detail."
Source="mscorlib"
StackTrace:
Server stack trace:
at System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.ProcessReply(Message reply, SecurityProtocolCorrelationState correlationState, TimeSpan timeout)
......
(lots of stacktrace info - not very useful)
InnerException: System.ServiceModel.FaultException
Message="An error occurred when verifying security for the message."
L'exception ne me dit rien. Je suppose qu'il a quelque chose à voir avec l'accès aux ressources système du service Windows. J'ai essayé de l'exécuter sous le même compte que l'application de console, mais pas de chance. Quelqu'un a-t-il une idée?
Ouch cela m'a donné une tête endolorie ... – James
Informations sur la sécurité est: \t \t \t \t \t \t \t \t wsHttpBinding> serviceCredentials> –
Alphonso