Error 401 al actualizar datos en WCF Data Services sobre Azure


401 Unauthorized
Cuando necesitamos acceder a los datos de una manera sencilla desde todas nuestras aplicaciones y posibilitar su uso desde casi cualquier tecnología o dispositivo, una apuesta bastante segura es crear un servicio REST de acceso a los datos.

Para crear un servicio REST de forma muy rápida, Microsoft nos proporciona una herramienta casi mágica llamada WCF Data Services. Esta librería, junto con una base de datos en SQL Azure, nos creará automáticamente un servicio REST en base a un modelo de entidades (Entity Framework, Linq to SQL, etc..), que luego podremos configurar para establecer permisos con unas pocas líneas.

Podéis encontrar multitud de artículos sobre el tema, como por ejemplo este tutorial rápido en MSDN.

Artículo recomendado: Guidance for OData in Windows Azure

Cuando nos funcione el servicio en local, nuestra alma geek nos pedirá probar en Azure incluso antes de configurar la autentificación. Si ese es el caso y la aplicación, además de leer y crear datos, también actualiza y borra, recibiremos un error 401 al realizar estas últimas operaciones.
Esto es así porque las operaciones de lectura y creación se realizan con los verbos GET y POST de HTTP, pero la actualización y borrado de datos se realizan mediante los verbos PUT y DELETE, que en IIS están deshabilitados en el caso de la autentificación anónima.
Sin que sirva de precedente, aquí tenéis un truco rápido para evitar esta situación, pero recordad que debe ser algo temporal y debéis evitar que se puedan guardar, modificar y borrar datos con una conexión anónima!
Es suficiente deshabilitar cualquier tipo de autentificación para evitar el problema. En el web.config de nuestra aplicación añadimos esta entrada en la sección system.web:

<system.web>
   <authentication mode="None" />
</system.web>

Y ya nos debería funcionar, pero recordad habilitar la autentificación de nuevo y establecer mecanismos de seguridad.

Si vuestras necesidades de datos son sencillas y queréis que sea lo más automático y seguro sin esfuerzo, también tenéis los Servicios móviles de Azure

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s