Cómo: Habilitar el acceso al servicio de datos (WCF Data Services)

En Servicios de datos de Microsoft WCF, debe permitir explícitamente el acceso a los recursos expuestos por un servicio de datos. Esto significa que después de crear un nuevo servicio de datos, debe proporcionar explícitamente acceso a los recursos individuales como conjuntos de entidades. En este tema se muestra cómo permitir el acceso de lectura y escritura a cinco de los conjuntos de entidades en el servicio de datos Northwind que se crea al completar el tutorial rápido. Como la enumeración EntitySetRights se define utilizando FlagsAttribute, puede utilizar un operador lógico OR para especificar varios permisos para un único conjunto de entidades.

Nota

Cualquier cliente que pueda tener acceso a la aplicación ASP.NET también puede tener acceso a los recursos expuestos por el servicio de datos.En un servicio de datos de producción, para evitar el acceso no autorizado a los recursos, también debería proteger la aplicación.Para obtener más información, vea Securing ASP.NET Web Sites.

Para habilitar el acceso al servicio de datos

  • En el código del servicio de datos, reemplace el código de marcador de posición de la función InitializeService por el siguiente:

    ' Grant only the rights needed to support the client application.
    config.SetEntitySetAccessRule("Orders", EntitySetRights.AllRead _
         Or EntitySetRights.WriteMerge _
         Or EntitySetRights.WriteReplace)
    config.SetEntitySetAccessRule("Order_Details", EntitySetRights.AllRead _
        Or EntitySetRights.AllWrite)
    config.SetEntitySetAccessRule("Customers", EntitySetRights.AllRead)
    
    // Grant only the rights needed to support the client application.
    config.SetEntitySetAccessRule("Orders", EntitySetRights.AllRead
         | EntitySetRights.WriteMerge
         | EntitySetRights.WriteReplace);
    config.SetEntitySetAccessRule("Order_Details", EntitySetRights.AllRead
        | EntitySetRights.AllWrite);
    config.SetEntitySetAccessRule("Customers", EntitySetRights.AllRead);
    

    De esta forma, los clientes pueden tener acceso de lectura y escritura a los conjuntos de entidades de Orders y Order_Details, y acceso de solo lectura a los conjuntos de entidades de Customers.

Vea también

Tasks

Cómo: Desarrollar un servicio de datos WCF que se ejecuta en IIS

Conceptos

Configurar el servicio de datos (WCF Data Services)