Nota:
Esta funcionalidad solo se puede utilizar con geodatabases corporativas, no con bases de datos.
Puede configurar un servicio de entidades para registrar información sobre quién creó cada entidad. También puede restringir el acceso de las personas a las entidades que no son de su propiedad. Esto se conoce como control de acceso basado en la propiedad.
Para utilizar el control de acceso basado en la propiedad, debe designar un campo en el dataset para que contenga el nombre del creador. A continuación, modifique la configuración de Rastreo del editor para designarlo como Campo creador. Consulte Rastreo del editor para los servicios de entidades para ver los pasos de este proceso.
Al publicar el servicio y activar la opción Acceso a entidades, active también la propiedad Habilitar el control de acceso basado en la propiedad para las entidades. A continuación, puede elegir Operaciones permitidas en entidades creadas por otros usuarios (Consulta, Actualizar y Eliminar) para especificar las cosas que los no creadores pueden hacer. El creador puede realizar todas las operaciones permitidas en el servicio en general.
Tenga en cuenta que si desactiva Consulta, el usuario que haya iniciado sesión solo verá las entidades que haya creado. Por el contrario, si se ha activado Consulta y Actualizar y Eliminar están desactivadas, el usuario puede consultar, pero tendrá acceso de solo lectura a las entidades que sean propiedad de otros usuarios.
El control de acceso basado en la propiedad solo funciona si el servicio puede obtener información sobre quién crea entidades e intenta acceder a ellas. En la aplicación cliente, el desarrollador debe solicitar al usuario que introduzca las credenciales de ArcGIS Server. El desarrollador entonces utiliza esta información para obtener un token de ArcGIS Server. El token cifrado que contiene la información de usuario debe pasarse al servicio de entidades al realizar solicitudes.
Cuando alguien crea una entidad de una solicitud anónima (lo que significa que la solicitud no contiene información del usuario), el campo creador se deja vacío y cualquiera puede acceder a la entidad.
Nota:
Las ediciones realizadas por usuarios anónimos a través del servicio de entidades se registran como Esri_Anonymous en la geodatabase; sin embargo, estos valores aparecerán como una cadena de caracteres vacía para los clientes que utilicen el servicio de entidades. Al consultar el servicio de entidades mediante el Directorio de servicios REST para buscar entidades creadas por usuarios anónimos, debe especificar Esri_Anonymous. Por ejemplo, si la capa de entidades contiene un campo creador llamado created_by, escriba created_by='Esri_Anonymous' en el campo Dónde.
Cuando se utiliza un servicio de entidades en un mapa que se deja sin conexión para editarlo, el nombre de usuario de la persona que dejó el mapa sin conexión se usa para rastrear las ediciones y el control de acceso se aplica en función de este usuario. Tenga en cuenta que el control de acceso basado en la propiedad no se aplica a los administradores de ArcGIS Server; los administradores tienen permisos totales.
Si algunos de los datasets del servicio no tienen un campo creador designado, no se aplica el control de acceso basado en la propiedad a esos datasets. Si ha activado la casilla de verificación para habilitar el control de acceso basado en la propiedad y no ha especificado un campo creador, puede ver advertencias cuando analice el mapa para publicarlo. Las capas y tablas sin un campo creador utilizan las reglas de permisos establecidas en el nivel de servicio, como se describe en Permisos de editor para servicios de entidades.
Editores web
Al configurar el control de acceso basado en la propiedad, puede especificar un dominio de usuario. Por ejemplo, si el dominio de usuario se establece en myserver.com y el usuario Bob se conecta e introduce una entidad mediante el servicio, el creador se establece en Bob@myserver.com.
Las reglas de control de acceso basadas en la propiedad son válidas para los editores web no administrativos que realizan ediciones a través del servicio.
Consejos y prácticas recomendadas
También es importante tener en cuenta que las opciones de control de acceso basado en la propiedad están limitadas a las operaciones permitidas a todos los usuarios en el nivel de servicio. Por ejemplo, si las operaciones Actualizar y Eliminar a nivel de servicio están desactivadas, las operaciones Actualizar y Eliminar también se desactivan para las configuraciones de los controles de acceso basados en la propiedad.
Al publicar un servicio, se recomienda que mantenga el campo creador visible para todas las capas y tablas. Esto permite a los clientes saber qué usuario crea una entidad determinada. Puede utilizar esta información para evitar que los usuarios intenten editar entidades para las que no tienen permisos de edición. Si el campo creador está oculto, los clientes que utilicen el servicio de entidades no sabrán qué usuario crea una entidad determinada. Si el cliente intenta editar una entidad en la que no tiene permiso, se devolverá un error.
Es importante tener en cuenta la diferencia entre el rastreo del editor y el control de acceso basado en la propiedad. Si se establece el rastreo del editor para una capa en el nivel de dataset, el servicio de entidades realiza un seguimiento de las ediciones, independientemente de si se aplican reglas de acceso basadas en la propiedad. Sin embargo, el rastreo del editor en el nivel de dataset es necesario para establecer las reglas de acceso basadas en la propiedad.
Cuando un usuario no autenticado realiza ediciones, el creador o el valor del campo del editor se dejan vacíos. Si el control de acceso basado en la propiedad está habilitado, cualquier usuario puede editar entidades. Si el control de acceso basado en la propiedad está habilitado y el creador es NULL, las entidades o registros son de solo lectura; nadie puede editar entidades. Los autores de servicios pueden configurar sus datos de modo que las entidades que deseen que sean de solo lectura tengan NULL como creador.