Apache:从LDAP身份验证会话中注销

时间:2016-01-10 20:19:28

标签: session logout apache2.4 mod-ldap

我尝试了几个可能从LDAP身份验证会话注销的可能性。他们都没有工作。我在Centos7上使用Apache 2.4。 有办法吗?

我的最新配置如下:

<VirtualHost *:12345>

  Alias /logouttest /var/www/html/logouttest
  LogLevel trace
  CustomLog /var/log/httpd/access_log common
  ErrorLog  /var/log/httpd/error_log

  DocumentRoot /var/www/html/logouttest

  <Directory /var/www/html/logouttest>
    AllowOverride all
    Session On
    SessionCookieName session path=/

    AuthType Basic
    AuthName "logouttest"
    AuthBasicProvider ldap
    AuthLDAPURL ldap://ad.example.com:389/OU=Users,OU=Company,DC=xxxx,DC=ch?sAMAccountName?sub?(objectclass=*)
    AuthLDAPBindDN  CN=LDAPQuery,OU=services,OU=Administrative,OU=company,DC=xxxx,DC=com
    AuthLDAPBindPassword 'xxx'
    Require valid-user

    RewriteEngine On
    RewriteCond %{LA-U:REMOTE_USER} (.+)
    RewriteRule . - [E=RU:%1,NS]
    RequestHeader add X-Forwarded-User %{RU}e

  </Directory>


  <Location "/logout">
    Allow from all
    Satisfy Any
    #SetHandler form-logout-handler
    AuthFormLogoutLocation /logout/logout.html
    Session On
    SessionMaxAge 1
    SessionCookieName session path=/
  </Location>

</VirtualHost>

Apache doc让我对这个主题感到困惑。特别是行SetHandler form-logout-handler根本不起作用。 (我必须编写自己的处理程序吗?)。

无论如何,如果有人能够确认是否可以在apache中正确终止经过身份验证的会话,我会很高兴(有些帖子声称它不可能。)

1 个答案:

答案 0 :(得分:1)

没有注销HTTP基本身份验证的概念。请求要么附有您的凭据,要么不是 - 中间没有任何内容。您的浏览器不会每次都提示您,但每次都会发送凭据。

您已阅读的与表单相关的内容是针对一组面向会话的登录模块。它不是你在这里所拥有的。