Quiero publicar capas de mapas usando OpenLayers y GeoServer. Si bien esto es bastante fácil de configurar, estoy un poco perdido cuando se trata de posibilidades de autenticación. Lo que quiero es crear diferentes usuarios que, al iniciar sesión con su propio nombre de usuario y contraseña, se dirijan a su propia ventana de mapa. ¿Cómo se puede hacer esto de manera segura para que ninguno de mis usuarios pueda acceder a las capas de los demás?
He entendido que es bastante fácil "piratear" la configuración, por ejemplo, haciendo consultas al GeoServer donde uno simplemente le pide que enumere todas las capas disponibles.
¿Cuáles son mis opciones? ¿Supongo que apache podría ser útil al configurarlo en mi servidor ubuntu? ¿Algún tutorial sobre este tema?
Podrías echar un vistazo a GeoPrisma
http://geoprisma.org/dist/build/html/introduction/index.html
Analizaría la documentación; puede ser excesivo agregar esto a un proyecto simple si solo tiene unas pocas capas / usuarios en su sistema. Si tiene cientos de usuarios / grupos con derechos de edición en diferentes conjuntos de datos, entonces probablemente tenga sentido usar un proyecto existente como GeoPrisma.
De lo contrario, la seguridad estándar del servidor web construida alrededor de HTTP probablemente sería suficiente.
fuente
Por favor, depure esta declaración
$ type = $ _ GET ['FORMATO'];
cuando pasa el valor de FORMAT como los parámetros de la URL, ¿obtiene el mapa (imagen) del servidor? Si lo está obteniendo, su proxy debería estar funcionando bien.
fuente
Un enfoque sería implementar un Proxy como este que pudiera verificar las credenciales de un usuario como iniciado sesión usando variables de sesión y solo permitirles acceder a los recursos a los que tienen derecho, es decir: verificar la url de las capas que se están llamando y denegar el acceso si el usuario no está autorizado para verlos.
En términos de qué datos pueden ver, si es un subconjunto de un conjunto de datos más grande, esto es un poco más complicado, pero veo dos enfoques.
Utilice vistas SQL parametrizadas para controlar qué datos vería el usuario. Puede usar el Proxy para cambiar la URL antes de pasarla a Geoserver con los parámetros específicos de ese usuario. También puede enviar los parámetros de vuelta a Openlayers a través de una llamada Ajax después de que el usuario esté autenticado y proporcionar los parámetros como parte de la llamada getMAP de WMS en OpenLayers. Los datos reales que se muestran podrían manejarse mediante la sustitución de Variable en SLD para filtrar los datos que se muestran o mediante el uso de Estilos externos en sus llamadas getMap de WMS para cambiar el SLD que un usuario usa para mostrar una capa determinada.
Use una llamada Ajax después de la autenticación de usuario para especificar extensiones de mapa para permitir que el usuario se mueva por un área específica. También puede usar layerVisibility () para restringir qué datos se pueden mostrar también.
fuente
fuente