我在apache 2.2上有Kerberos,用于将SingleSignOn用于tomcat应用程序。 如果用户在域中进行了身份验证 - 我工作正常的一切,凭据都会传递给应用程序,并且他会自动登录(因此Kerberos / SSO正在顺利运行)。
问题是当用户尝试访问没有域帐户的网站时。他总是被要求提供凭据(我可以避免使用ErrorDocument 401站点重定向到不同的tomcat端口,但事实并非如此)。
如何传递它,因此没有域帐户的用户通过apache传递到tomcat登录站点,并且自动记录Kerberos验证的用户。
我尝试了很多关于apache指令的事情允许来自...,拒绝,满足所有等等,但没有任何帮助我解决这个问题。
在一个场景中,我使用SSO成功登录,但在第二个版本中请求浏览器(如果不是doamin用户)的凭据我通过apache传递,无论我是否是"有效用户(域帐户)&# 34;与否(不是域帐户)。
这是我当前的apache位置配置:
<Location />
AuthType Kerberos
AuthName "SSO Login"
KrbMethodNegotiate On
KrbMethodK5Passwd Off
KrbAuthRealms DOMAIN.NAME
KrbServiceName Any
Krb5KeyTab /etc/httpd/keytab
Require valid-user
SetOutputFilter DEFLATE
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary
Header append Vary User-Agent env=!dont-vary
</Location>
PS。在我使用了一些&#34; Allow from ...&#34;和/或&#34;满足&#34; apache指令在apache调试日志中没有关于kerberos身份验证的信息。
PPS。此站点的解决方案无效:http://www.midwesternmac.com/blogs/jeff-geerling/apache-kerberos-authentication 无论我是谁,它总是让我通过apache
非常感谢您的一些提示 Krzysiek