我正在通过 kerberos (mod_auth_kerb) 在 Apache 网络服务器中针对 Active Directory 部署 SSO。
该模块已正确安装和配置,当我使用登录用户访问 AD 网络的 apache 网站时,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>