环境
Apache 2.2.13 使用 mod_jk (ajp13) 连接到 Tomcat 5.5。 Apache 需要“/”的基本身份验证,即它所服务的所有 URL。
问题
一旦请求到达我在 Tomcat 中的应用程序(它是一个 Servlet 过滤器),request.getUserPrincipal()
返回 null。但是,Apache 确实对请求进行了身份验证。我确实在浏览器的对话框中输入了用户/密码。
有什么想法吗?
最佳答案
几个小时后,我终于找到了罪魁祸首。通常情况下,一面旗帜会造成一切不同。
在 server.xml
中,必须使用 tomcatAuthentication="false"
配置 AJP/1.3 连接器。可以在此处找到此参数的解释(滚动到底部): http://tomcat.apache.org/tomcat-5.5-doc/config/ajp.html .
以下线程帮助很大:mail-archive.com/users@tomcat.apache.org/msg55080.html .
关于apache - 使用 mod_jk 进行 Apache 基本身份验证 (basic-auth) 后请求中没有主体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1405428/