Hi Guys,
I'm going around in circles with regards to WCF and security so i'm just going to shove a load of questions here and hope someone can help me gain a clear picture.
Can someone please give me a plain English explanation of Transport vs Message level security.
I think I have a service running under SSL that will authenticate the user based upon their windows credentials. I also think I understand how to limit access to a service method via the PrincipalPermission. But how do I actually retrieve the current IPrinciple, so I can return different results dependent upon who's calling the service?
I have figured out how to turn tracing on and I can see my trace logs using "Microsoft Service Trace Log Viewer" but ill be damned if I can figure out what Im being displayed. Is there a decent resource explaining how to use this thing?
When using the "Certificate" clientCredentialType, is this somehting different to SSL?
When using the "Windows" clientCredentialType how can I see what windows user is being passed through?
My requirements mean I have to use basicHttpBindings - Am I correct in assuming:
- I only have Transport level security available to me?
- I can not implement custom username/password for this binding?
I know these questions may seem stupid, but any help with clarification would really help.
Thanks Chris.
EDIT:
- How can I add custom SOAP headers to my service in a similar manor to .asmx services? Is this a valid approach?
EDIT:
Further to the above questions I would like to know if it is possible to authenticate a windows mobile device based upon its windows user by checking against Active Directory. For all that I have found so far it seems unlikely.
N.B. For those who do not know whats available for windows CE's version of WCF its: Transport level security only, and either none/certificate for the Client Credential Type. So it seems that CE's WCF wont allow this by default but could I securely send this information in the message (via the method signature) and would this be an acceptable way of sending this kind of information?