Actualmente tengo la tarea de encontrar una manera de implementar servicios WFS en varios clientes. Los servicios podrían ser consumidos tanto por el software GIS de escritorio, por ejemplo, MapInfo / ArcGIS o por las soluciones Web GIS.
¿Es posible, para un servicio WFS, definir, por ejemplo, nombre de usuario / contraseña o token para pasar para la verificación de los derechos de acceso? (la seguridad de primera clase no es necesaria)
He estado buscando en la especificación WFS de OGC, pero parece que no puedo encontrar ninguna información relevante sobre esto.
Respuestas:
WFS no tiene seguridad como parte del estándar, pero puede usar HTTPS sin problemas. La especificación de implementación de OpenGIS Web Feature Service (WFS) (04-094) [s. 6.3.4] dice:
Entonces, esencialmente depende de usted implementar cualquier funcionalidad HTTPS. Mapserver puede hacer frente a HTTPS por lo que puedo decir , pero nunca lo he probado. De hecho, estaría muy interesado en ver qué se te ocurre.
fuente
Si desea administrar el acceso a este servicio de manera discreta, a través de una solución de inicio de sesión único puede implementar lo siguiente. Actualmente no hay servicios de código abierto que implementen este tipo de solución de seguridad.
La primera parte, es un servicio web que actúa como mediador entre el WFS y el usuario. Este servicio web gestionará el acceso del usuario a las capas WFS y realizará las verificaciones cruzadas necesarias con un dominio activo o control de acceso de autenticación Kerberos. Este servicio pasará al servidor WFS aquellas solicitudes autenticadas y permitidas. Este es un servicio web Marshaling.
La segunda parte es hacer cumplir el servidor WFS para que solo confíe en las solicitudes del Servicio Marshaling. Esta es una característica del servidor web que limita las IP desde las cuales aceptará conexiones / solicitudes.
Hay servicios de Marshaling a la venta. Yo personalmente escribí el mío para asegurar una instancia de GeoServer para que pudiera integrarse en una gran tienda de Microsoft. Se permitió asignar usuarios a grupos y administrar el acceso a conjuntos de datos a través del servicio Marshaling.
Garantizado para ser seguro y no afectar el rendimiento de la comunicación.
Si desea diagramas de esta infraestructura para una comprensión más clara o los nombres de algunos proveedores, hágamelo saber (correo electrónico). No estoy afiliado de ninguna manera con vendedores, solo sé sus nombres. Prefiero escribir el mío;)
Este puede ser un buen proyecto de código abierto :) :)
fuente