Saya ingin menerbitkan lapisan peta menggunakan OpenLayers dan GeoServer. Meskipun ini cukup mudah untuk diatur, saya agak bingung ketika datang ke kemungkinan otentikasi. Yang saya inginkan adalah membuat pengguna yang berbeda yang, dengan masuk dengan nama pengguna dan kata sandi mereka sendiri, akan diarahkan ke jendela peta mereka sendiri. Bagaimana ini bisa dilakukan dengan aman sehingga tidak ada pengguna saya yang dapat mengakses lapisan satu sama lain?
Saya mengerti bahwa cukup mudah untuk "meretas" pengaturan dengan, misalnya, membuat kueri ke GeoServer di mana orang hanya memintanya untuk membuat daftar semua lapisan yang tersedia.
Apa saja pilihan saya? Saya kira apache bisa membantu ketika mengaturnya di server ubuntu saya? Adakah tutorial tentang hal ini?
Anda bisa melihat GeoPrisma
http://geoprisma.org/dist/build/html/introduction/index.html
Saya akan memindai dokumentasi - mungkin akan terlalu banyak untuk menambahkan ini ke proyek sederhana jika Anda hanya memiliki beberapa lapisan / pengguna di sistem Anda. Jika Anda memiliki 100 pengguna / grup dengan hak mengedit pada set data yang berbeda maka mungkin masuk akal untuk menggunakan proyek yang ada seperti GeoPrisma.
Kalau tidak, keamanan server web standar yang dibangun di sekitar HTTP mungkin cukup.
sumber
Silakan debug pernyataan ini
$ type = $ _ DAPATKAN ['FORMAT'];
ketika Anda melewati nilai FORMAT sebagai parameter URL apakah Anda mendapatkan peta (gambar) dari server, Jika Anda mendapatkannya, maka proxy Anda akan berfungsi dengan baik.
sumber
Salah satu pendekatan akan menerapkan Proxy seperti ini yang dapat memverifikasi kredensial pengguna sebagai login menggunakan variabel sesi dan hanya memungkinkan mereka untuk mengakses sumber daya yang mereka berhak, yaitu: memeriksa url untuk lapisan yang dipanggil dan menolak akses jika pengguna tidak diizinkan untuk melihatnya.
Dalam hal data apa yang mungkin mereka lihat, jika itu adalah himpunan bagian dari kumpulan data yang lebih besar, ini sedikit lebih rumit tapi saya melihat dua pendekatan ..
Gunakan Tampilan SQL Parameter untuk mengontrol data apa yang akan dilihat pengguna. Anda bisa menggunakan Proxy untuk mengubah url sebelum diteruskan ke Geoserver dengan parameter khusus untuk pengguna itu. Anda juga dapat mengirim parameter kembali ke Openlayers melalui Panggilan Ajax setelah pengguna diautentikasi dan menyediakan parameter sebagai bagian dari panggilan getMAP WMS di OpenLayers. Data aktual yang ditampilkan dapat ditangani oleh substitusi Variabel di SLD untuk memfilter data yang ditampilkan atau dengan menggunakan Gaya Eksternal dalam panggilan WMS getMap Anda untuk mengubah SLD yang digunakan pengguna untuk menampilkan lapisan yang diberikan.
Gunakan Panggilan Ajax setelah Otentikasi Pengguna untuk menentukan Map Extents agar hanya memungkinkan pengguna untuk berpindah di sekitar area yang ditentukan. Anda juga bisa menggunakan layerVisibility () untuk membatasi data apa yang bisa ditampilkan juga.
sumber
sumber