I am looking for some technical details about where the actual username + password (credentials) is stored during messaging using the WCF binding, as shown below.
<bindings>
<wsHttpBinding>
<binding name="wsHttp">
<security mode="TransportWithMessageCredential">
<transport/>
<message clientCredentialType="UserName"
negotiateServiceCredential="false"
establishSecurityContext="true" />
</security>
</binding>
</wsHttpBinding>
</bindings>
Then, inside the client application, I call this service, passing in a valid set of such as
using (SupplierServiceClient client = new SupplierServiceClient()) {
client.ClientCredentials.UserName.UserName = "admin";
client.ClientCredentials.UserName.Password = "password";
SupplierList = client.GetSupplierCollection();
}
At first, I suggested that WCF takes this data and puts it in the SOAP header, but it doesn’t look like this from the WSDL ... any help?
Edit
The following shows what the security configuration for the client looks like during the manufacturing process.
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="None" />
<message clientCredentialType="UserName" establishSecurityContext="false" />
</security>
source
share