Control de acceso basado en la propiedad basado para servicios de entidades
Puede configurar un servicio de entidades en la base de datos para registrar información sobre quién creó cada entidad. También puede restringir que las personas accedan 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 fijar el nombre del creador. Después puede modificar la configuración de Rastreador del editor para designar este como el Campo creador. Consulte Rastreador del editor para servicios de entidades para ver los pasos de este proceso.
Cuando publica el servicio y, a continuación, marca la capacidad Acceso a entidades , marque también la propiedad Habilitar la control de acceso basado en la propiedad basado en 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 puedan hacer. El creador puede llevar a cabo todas las operaciones que se permiten en el servicio en general.
Tenga en cuenta que si desactiva Consulta, el usuario que haya iniciado sesión solo verá las entidades que ha creado. De la misma forma, si está activada Consulta y Actualizar y Eliminar no, el usuario puede consultar, pero tendrá acceso de solo lectura a las entidades propiedad de otros usuarios.
El control de acceso basado en la propiedad sólo funciona si el servicio puede obtener información sobre quién crea entidades e inteta acceder a ellos. En la aplicación de clientes, el desarrollador debe solicitar que el usuario introduzca las credenciales de ArcGIS Server. El desarrollador luego utiliza esta información para obtener un token de ArcGIS Server. El token cifrado que contiene la información de usuario debe ser aprobado para el servicio de entidades al hacer peticiones.
Cuando se crea una entidad de una solicitud anónima (lo que significa que la solicitud no contiene información de usuario), el campo creador se deja vacío y cualquiera puede acceder a la entidad.
Si algunos de los datasets en el servicio no tienen un campo creador designados, no se aplica el control de acceso basado en la propiedad a los datasets. Si ha marcado la casilla de verificación para habilitar el control de acceso basado en la propiedad y no ha especificado un campo creador, puede ver las advertencias al analizar el mapa para publicar. Las capas y las tablas sin un campo de creador utilizan las reglas de permiso establecidas en el nivel de servicio , como se describe en Permisos de editor para los servicios de entidades.
Editores Web
Cuando configura el control de acceso basado en la propiedad, puede optar por especificar un entorno de usuario. Por ejemplo, si el ámbito de usuario se establece en myserver.com y el usuario Bob se conecta e inserta una entidad mediante el servicio, el creador se establece en Bob@myserver.com. Si Bob inserta una entidad en ArcMap, el creador se establece en Bob.
Las normas de control de acceso basado en la propiedad son válidas para los editores Web no administrativos que realizan modificaciones en el servicio.
Consejos y buenas prácticas
También es importante señalar que los controles de acceso basados en la propiedad están limitados a las operaciones permitidas para todos los usuarios en el nivel de servicio. Por ejemplo, si se desmarcan las operaciones del nivel de servicio Actualizar y Eliminar, Actualizar y Eliminar tampoco se marcan para las operaciones de los controles de acceso basados en la propiedad.
Cuando publica un servicio, se recomienda mantener 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 que no tienen permisos para editar. Si el campo creador está oculto, los clientes que utilicen el servicio de entidades no saben qué usuario crea una entidad determinada. Si el cliente intenta editar una entidad en la que no tiene permiso, le devolverá un error.
Es importante tener en cuenta la diferencia entre el rastreador del editor y el control de acceso basado en la propiedad. Si se establece el rastreador del editor para una capa en el nivel de dataset, se realiza un seguimiento de las modificaciones en el servicio de entidades independientemente de las reglas de acceso basadas en la propiedad. Sin embargo, el rastreador del editor en el nivel de dataset es necesario para establecer las reglas de acceso basadas en la propiedad.
Cuando se realizan ediciones por un usuario no autenticado, el creador o valor de campo del editor se deja vacío. Si la control de acceso basado en la propiedad está habilitado, cualquier usuario puede editar entidades. Si el de control de acceso basado en la propiedad está habilitado, y el creador es NULO, las entidades o registros son de sólo lectura; nadie puede editar entidades. Los autores de servicio puede configurar sus datos de tal forma que las entidades que desean ser de solo lectura tengan NULO como el creador.