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

Apache : logout from an LDAP authenticated session

我尝试了几种从 LDAP 身份验证会话注销的方法。 None 他们成功了。我在 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>

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

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

没有注销 HTTP 基本身份验证的概念。请求要么附有您的凭据,要么没有——什么都没有 in-between。您的浏览器不会每次都提示您,但每次都会输入凭据。

您读到的 form-related 内容适用于一组 session-oriented 登录模块。这是 n/a 到你这里的东西。