ruby rails passenger apache2 с использованием базовой аутентификации LDAP в httpd.conf - PullRequest
0 голосов
/ 02 февраля 2012

У меня есть сайт, на котором я хочу заставить пользователя войти в систему через LDAP, прежде чем он сможет увидеть первую страницу веб-сайта.Это хорошо работает с обычными веб-страницами, но не работает с сайтом rails, на котором пассажиры работают на apache2.Я видел некоторые упоминания о том, что это связано с тем, что пассажир не уважает команду Справочника (или берет трубку до того, как доберется до этой директивы).Есть ли способ сделать это или мне нужно вместо этого добавить сайт на сайт?

<VirtualHost *:80>
    ServerName test.example.com
    DocumentRoot "/www/software/rails_site/current/public"
    ErrorLog "/www/logs/software/rails_site/error_log"
    CustomLog "/www/logs/software/rails_site/access_log" common
    DirectoryIndex index.html
    RailsEnv production

    <Directory "/www/software/rails_site/current/public">
      AuthType Basic
      AuthName "Secure portal"
      AuthBasicProvider ldap
      AuthzLDAPAuthoritative on
      AuthLDAPURL "info"
      AuthLDAPBindPassword "pass"
      require ldap-user usernames
      Order deny,allow
      Satisfy Any
   </Directory>
</VirtualHost>

Вышесказанное не препятствует загрузке сайта и не создает никаких проблем при первой попытке загрузить сайт.

1 Ответ

1 голос
/ 02 февраля 2012

Попробуйте разместить директивы аутентификации внутри Location, а не в Directory, чтобы они сначала запускались входящим URI.Очевидно, у Пассажира есть порядок операций, связанный с директивами Справочника.

Этот старый пост подтверждает, что то, что вы пытаетесь сделать (по крайней мере, раньше) возможно:

http://groups.google.com/group/phusion-passenger/browse_thread/thread/bb0ccee6b4a45bc0/429a34fb66dbde6d

...