Je suis à la recherche de détails techniques sur l'emplacement actuel du nom d'utilisateur et du mot de passe (informations d'identification) lors de l'échange de messages à l'aide d'une liaison WCF comme ci-dessous.Détails de l'implémentation des informations de message WCF
<bindings>
<wsHttpBinding>
<binding name="wsHttp">
<security mode="TransportWithMessageCredential">
<transport/>
<message clientCredentialType="UserName"
negotiateServiceCredential="false"
establishSecurityContext="true" />
</security>
</binding>
</wsHttpBinding>
</bindings>
Ensuite, dans l'application client j'appeler ce service qui passe un ensemble valide de creds comme si
using (SupplierServiceClient client = new SupplierServiceClient()) {
client.ClientCredentials.UserName.UserName = "admin";
client.ClientCredentials.UserName.Password = "password";
SupplierList = client.GetSupplierCollection();
}
Au début, je pensais que WCF prenait ces données et de le mettre dans l'en-tête SOAP mais ne semble pas de cette façon du WSDL ... aucune aide?
Modifier:
Le dessous est ce que la configuration de la sécurité pour le client ressemble à la production
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="None" />
<message clientCredentialType="UserName" establishSecurityContext="false" />
</security>
excellent - donc dans le corps sous "demande de jeton de sécurité" verrions-nous aussi le nom d'utilisateur + mot de passe ou? –
Je ne suis pas sûr de ce que RequestSecurityToken a à faire avec cette question sur UsernameTokens ...? –
Ceci est seulement la première partie (demande) de l'établissement de liaison WS-Trust utilisée pour établir un contexte de sécurité. Vous pouvez lire plus de détails à ce sujet ici: http://specs.xmlsoap.org/ws/2005/02/trust/ws-trust.pdf –