¿Cómo autenticar y autorizar cada llamada WCF?

Tengo un cliente WPF que consume el servicio WCF alojado en IIS. Para la autenticación, estoy pensando en la autenticación del certificado o del nombre de usuario. El cliente llama a dos métodos en WCF y pasa un mensaje.

Por cada llamada que llega a WCF, quiero autenticar al usuario. Para colocar el mensaje en db, tengo que saber quién llama, cuál es su nombre de usuario y algunas otras propiedades sobre el usuario. ¿Cómo pasar esta información [puede ser un objeto pequeño] en cada llamada?

Respuestas a la pregunta(1)

Su respuesta a la pregunta