Проблема с авторизацией через Apache

Mapserver, GeoServer, MapGuide, Google и другое ПО для веб-картографии
Ответить
churilova
Интересующийся
Сообщения: 38
Зарегистрирован: 28 май 2009, 09:27
Репутация: 0

Проблема с авторизацией через Apache

Сообщение churilova »

Добрый день!
Работаю с OpenLayers + GeoServer.
Мне необходимо ограничить доступ к своей системе, причем у разных пользователей должны быть разные права.
Сейчас я сделала авторизацию через апач. Вот конфиг:

Код: Выделить всё

<VirtualHost *:80>
        JkMountCopy on
        ServerAdmin ...
        ServerName ...

        DirectoryIndex /admin/map.cgi

        DocumentRoot /var/www/site_name
        <Directory />
                Options FollowSymLinks
                AllowOverride None
        </Directory>
        <Directory /var/www/site_name>
                Options +Indexes +Includes +FollowSymLinks MultiViews +SymLinksIfOwnerMatch +ExecCGI
                AllowOverride None
                Order allow,deny
                allow from all

                AuthType Basic
                AuthName "site_name autorization"
                AuthUserFile users
                AuthGroupFile groups
                Require group site_name
        </Directory>

        ErrorLog /var/log/apache2/error.log
        LogLevel warn
        CustomLog /var/log/apache2/access.log combined

</VirtualHost>
Но возникла следующая проблема: при попытке зайти на сайт сначала пароль спрашивает апач (заголовок окна авторизации: «http://site_name» запрашивает имя пользователя и пароль. Сайт сообщает: «site_name autorization»), вводим валидный логин пароль, прогружается все кроме карты и выдается запрос авторизации с заголовком «http://site_name» запрашивает имя пользователя и пароль. Сайт сообщает: «GeoServer Realm», причем спрашивает он его не один раз (такое ощущение, что на каждый тайл). Если один раз ввести пароль (для авторизации с зголовокм GeoServer Realm), то потом можно отменять все запросы и в конце концов карта прогрузится, и дальше при работе с картой (изменение масштаба, сдвиг) пароль не запрашивается.

Подскажите, пожалуйста, как забороть непонятно откуда взявшуюся авторизацию «GeoServer Realm»?

По теме ничего не нашла, если что-то подобное уже обсуждалось ткните носом, пожалуйста:)
Konstantin Tokar
Активный участник
Сообщения: 178
Зарегистрирован: 16 июл 2008, 09:56
Репутация: 1
Откуда: Москва

Re: Проблема с авторизацией через Apache

Сообщение Konstantin Tokar »

Налетел на то же самое, в связке nginx + apache + geoserver, причём авторизация делается средствами nginx. Как мне кажется, в geoserver передаётся заголовок Authorization , там очищается, передаётся клиенту ответ уже без этого заголовка, и следующий запрос к сайту идёт уже без авторизации, что и вызывает бесконечный повтор. Решение - очищать заголовок Authorization при передаче в geoserver директивой proxy_set_header (ну или ввести там аналогичную авторизацию).

Код: Выделить всё

        location /geoserver {
            proxy_set_header  Authorization  "";
            proxy_pass         http://10.1.1.1:8080/geoserver;
        }

        location / {
            auth_basic "some realm";
            auth_basic_user_file passwd_file;
            proxy_pass         http://127.0.0.1:8080/;
        }
}
churilova
Интересующийся
Сообщения: 38
Зарегистрирован: 28 май 2009, 09:27
Репутация: 0

Re: Проблема с авторизацией через Apache

Сообщение churilova »

Мы проблему тогда так и не решили, перешли на авторизацию по сессиям, но возможно кому-то ваш опыт будет полезным, спасибо за ответ! :)
Ответить

Вернуться в «Веб-картография»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 2 гостя