2011-05-17 16 views
7

Tengo un cliente WCF alojado en IIS7 y un servicio WCF alojado en IIS7. El cliente es estrictamente http/javascript y me gustaría mantenerlo de esa manera.¿Puedo consumir un servicio WCF REST usando la Autenticación de Windows sin bibliotecas .NET?

Cuando navego por la página web del cliente, se me solicitan las credenciales de Autenticación de Windows porque la página está protegida (y se sirve con https). Una vez que me he autenticado, mis llamadas AJAX al servicio (del cliente) no se procesan porque nunca tuve la oportunidad de autenticarme en el servicio.

¿Cuál es la mejor forma de implementar la seguridad si deseo proteger el acceso al servicio utilizando las credenciales de Active Directory pero sin utilizar las bibliotecas .NET?

La respuesta específica devuelta por el servicio es "401 (no autorizada)". Tenga en cuenta que el servicio también se sirve con https.

Respuesta

1

Editar:

actualización

Hay un modo de seguridad para esta tal como se describe aquí:

http://rickgaribay.net/archive/2007/04/04/recipe-wcf-basichttpbinding-with-windows-authentication.aspx

a continuación es para Android

creo que es posible. Aunque, a menos que escriba una implementación personalizada de autenticación NTML, necesitará usar una biblioteca de terceros de Java.

Tuve éxito con http://jcifs.samba.org/ ejecutándose en Android. Desafortunadamente, no tengo el código fuente para compartir más ya que pasamos a un método de autenticación diferente.

me encontré con que el proyecto a través del siguiente enlace: http://danhounshell.com/blog/android-using-ntlm-authentication-with-httpclient/

También hay otro proyecto NTML para la integración de AD que podría ayudar (no tengo experiencia):

http://www.ioplex.com/jespa.html

hth

+0

Estoy seguro de que esto será útil para alguien que intenta administrar la autenticación NTLM a través de un código personalizado, y agradezco el comentario, pero realmente estoy buscando una solución que me permita autenticar el usuario del cliente/servicio web sin construir una biblioteca personalizada. Incluso si esto significa pasar a un sistema de autenticación de terceros como OAuth. Me gustaría aprovechar el directorio existente y vincular al usuario a este directorio mediante certificados o autenticación de formulario o algo transparente para el usuario final además de un nombre de usuario/contraseña cuadro o formulario. –

+0

En serio lo siento Chad. No sé lo que estaba fumando cuando escribí mi respuesta original, ya que es un caso de uso específico de Android. He malinterpretado tu pregunta bastante mal:/He actualizado la respuesta con un enlace que describe cómo hacer lo que dijiste. Espero que esto responda tu pregunta esta vez: D –

Cuestiones relacionadas