如何使用kerberos / AD登录Web App但仍允许访问非AD用户

时间:2014-10-13 07:48:49

标签: apache active-directory kerberos mod-auth-kerb

我正在Apache Web服务器中通过kerberos(mod_auth_kerb)针对Active Directory部署SSO。

模块已正确安装和配置,当我访问带有登录用户的apache网站到AD网络时,Apache通过REMOTE_USER变量正确接收用户的凭据。问题是我希望外部用户(非AD网络用户)能够通过常规登录访问Apache网站,但他们得到了

  

需要401授权

访问网站时。

我想这可以通过kerberos配置实现,但还没有达到解决方案。有没有人知道这是否适用于kerberos位置指令,还是应该为此配置一些解决方法,例如在虚拟主机配置位置指令中限制ip范围的位置访问?

我的虚拟主机配置是:

<VirtualHost *:80>
    # General
    ServerAdmin packettrc@my.es
    DocumentRoot /home/moodle/moodle
    ServerName my.es  
    LogLevel debug
    ErrorLog logs/my.es-error.log
    CustomLog logs/my.es.log combined

    <Location />    
        AuthType Kerberos
        AuthName "Kerberos Login MY"

        KrbMethodNegotiate On
        KrbMethodK5Passwd Off
        KrbServiceName HTTP/my.es@MY.ES
        KrbAuthRealms MY.ES  
        Krb5KeyTab      /etc/krb5.keytab

        require valid-user
    </Location>
</VirtualHost>

1 个答案:

答案 0 :(得分:1)

尝试替换

Require valid-user

Satisfy Any

您可以在this article中找到一些见解。以防万一链接到Apache的manual