Daha çox

Doğrulama arxasında GeoServer qatlarını necə qoymaq olar?

Doğrulama arxasında GeoServer qatlarını necə qoymaq olar?


OpenLayers və GeoServer istifadə edərək xəritə qatlarını dərc etmək istəyirəm. Bunu qurmaq kifayət qədər asan olsa da, doğrulama imkanlarına gəldikdə bir az itirilmişəm. İstədiyim şey, öz istifadəçi adı və şifrəsi ilə daxil olaraq öz xəritə pəncərəsinə yönəldiləcək fərqli istifadəçilər yaratmaqdır. İstifadəçilərimdən heç birinin bir -birinin qatlarına daxil ola bilməməsi üçün bunu necə təhlükəsiz etmək olar?

Mən başa düşdüm ki, məsələn, GeoServer -ə sorğu verərək quruluşu "sındırmaq" olduqca sadədir, burada sadəcə mövcud olan bütün təbəqələri sadalamaq istənir.

Seçimlərim nələrdir? Güman edirəm ki, apache ubuntu serverimdə qurarkən kömək edə bilərmi? Bu mövzuda hər hansı bir dərslik varmı?


Hər şeydən əvvəl düşünürəm ki, Geoserver Təhlükəsizliyi ilə bağlı sənədləri oxumalısınız. http://docs.geoserver.org/stable/en/user/security/index.html, fərqli istifadəçilər və ya rollar üçün təbəqələri əlçatan/əlçatmaz etmək mümkün olduğunu kəşf edəcəksiniz.

Başqa bir mümkün həll, geoserveri xarici dünyadan əlçatmaz etməkdir (serverinizdəki 8080 portunu IP -dən sonra digər localhost üçün bağlayın) və sonra özünüz seçdiyiniz veb proqramlaşdırma dilində bir doğrulama mexanizmi yaradın.

Məsələn: Doğrulandıqdan sonra localhostdakı geoserverə sorğu göndərən php -də bir növ giriş/identifikasiya qura bilərsiniz.


GeoPrisma -ya baxa bilərsiniz

Həssas məlumat toplusunda təhlükəsizliyi olan bir Web Xəritəçəkmə tətbiq etməliydik. Bu, birdən çox tətbiq ilə və onlara standart giriş+şifrə girişi qoyularaq edilə bilərdi, amma layihə çox böyük idi və onu qorumaq çox çətin olardı. Yeni bir verilənlər bazası əlavə etmək, hər bir tətbiqin əl ilə dəyişdirilməsini, təhlükəsizliyin tənzimlənməsini və s.

Bu səbəbdən, mövcud olan OpenSource Web Xəritəçəkmə tətbiqlərindən istifadə edərək məlumat dəstlərinə giriş nəzarətini özündə birləşdirən öz Web Xəritəçəkmə tətbiqimizi inkişaf etdirmək qərarına gəldik.

http://geoprisma.org/dist/build/html/introduction/index.html

Sənədlərin taranmasını istəyərdim - sisteminizdə yalnız bir neçə təbəqə / istifadəçi varsa, bunu sadə bir layihəyə əlavə etmək çox çətin ola bilər. Fərqli məlumat dəstlərində redaktə hüquqlarına malik 100 -dən çox istifadəçiniz/qrupunuz varsa, ehtimal ki, GeoPrisma kimi mövcud bir layihədən istifadə etməyin mənası var.

Əks təqdirdə, HTTP ətrafında qurulmuş standart veb server təhlükəsizliyi yəqin ki, kifayət edər.


Zəhmət olmasa bu ifadəni düzəldin

$ type = $ _ GET ['FORMAT'];

URL parametrləri olaraq FORMAT dəyərini keçdiyiniz zaman serverdən xəritəni (şəkli) alırsınız, əgər alırsınızsa, o zaman vəkiliniz yaxşı işləməlidir.


Bir yanaşma, istifadəçi məlumatlarını sessiya dəyişənlərindən istifadə edərək daxil olduqlarını təsdiqləyən və yalnız hüquqlarına malik olduqları mənbələrə daxil olmalarını təmin edə biləcək belə bir Proksi tətbiq etmək olar: çağırılan təbəqələr üçün url yoxlayın və əgər girişi rədd etsəniz İstifadəçinin onlara baxmaq icazəsi yoxdur.

Görə biləcəkləri məlumatlar baxımından, daha böyük bir məlumat dəstinin alt hissəsidirsə, bu bir az daha mürəkkəbdir, amma iki yanaşma görürəm ...

  1. İstifadəçinin görəcəyi məlumatları idarə etmək üçün Parametrləşdirilmiş SQL Görünüşlərindən istifadə edin. Bu istifadəçiyə xas olan parametrlərlə Geoserver -ə keçmədən əvvəl URL dəyişdirmək üçün Proxy -dən istifadə edə bilərsiniz. İstifadəçi təsdiqləndikdən və parametrləri OpenLayers -də WMS getMAP zənginin bir hissəsi olaraq təmin edildikdən sonra parametrləri Ajax Zəng vasitəsilə Openlayers -ə geri göndərə bilərsiniz. Göstərilən faktiki məlumatlar, göstərilən məlumatları süzmək üçün SLD -də Dəyişənlərin dəyişdirilməsi və ya istifadəçinin müəyyən bir təbəqəni göstərmək üçün istifadə etdiyi SLD -ni dəyişdirmək üçün WMS getMap zənglərinizdə Xarici Stillərdən istifadə etməklə idarə oluna bilər.

  2. İstifadəçinin Doğrulamasından sonra Ajax Zəngindən istifadə edərək, İstifadəçinin yalnız müəyyən bir ərazidə hərəkət etməsinə icazə vermək üçün Xəritə Sahələrini təyin edin. Həmçinin hansı məlumatların göstərilə biləcəyini məhdudlaşdırmaq üçün layerVisibility () istifadə edə bilərsiniz.


  1. Əvvəlcə bir proxy URL yaradın (proqramlaşdırma dilinizdə).
  2. Bu Proxy URL coğrafi serverə vurulacaq.
  3. Bu proxy URL -də, İstifadəçilər və Səhifə referentləri ilə identifikasiyanı edə bilərsiniz. Url -in webApp -dan göndərildiyini yoxlaya bilərsiniz. Sadəcə icazəsiz bir başlıq göndərin.
  4. Coğrafi server URL-nin yerinə bu proxy URL-ni vuracaqsınız.
  5. Heç kim Geoserver -in dəqiq urlinin nə olduğunu bilməyəcək və onu sındıra bilməyəcək.
  6. İstifadəçilərlə Təhlükəsizlik üçün Proxy URL -də İstifadəçilərin bir çekini əlavə edin.
  7. Açıq Qatlardan wms-url-u aşağıdakı kimi ötürün: http://domainname.com//proxyUrl.php?user=userid

Videoya baxın: Facebook hesabım kapandı nasıl açarım tekrar tek çözüm