使用 mod_jk 进行 Apache 基本身份验证 (basic-auth) 后,请求中没有主体
环境
Apache 2.2.13 使用 mod_jk (ajp13) 连接到 Tomcat 5.5。 Apache 需要对“/”进行基本身份验证,即对其服务的所有 URL 进行基本身份验证。
问题
一旦请求到达 Tomcat 中的我的应用程序(它是一个 Servlet 过滤器),request.getUserPrincipal()
返回 null。然而,Apache 确实验证了该请求。我确实在浏览器的对话框中输入了用户/密码。
有什么想法吗?
Environment
Apache 2.2.13 connect to Tomcat 5.5 with mod_jk (ajp13). Apache requires basic-auth for "/" i.e. for all URLs it serves.
Problem
Once the request arrives at my app in Tomcat (it's a Servlet filter) request.getUserPrincipal()
returns null. Apache, however, did authenticate the request. I did enter user/password in the browser's dialog.
Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
几个小时后我终于找到了罪魁祸首。与往常一样,一个标志就可以发挥全部作用。
在
server.xml
中,必须使用tomcatAuthentication="false"
配置 AJP/1.3 连接器。可以在此处找到此参数的说明(滚动到底部): < /a>http://tomcat.apache.org/tomcat-5.5 -doc/config/ajp.html。以下线程有很大帮助: mail-archive.com/[电子邮件受保护]/msg55080.html。
After hours I finally found the culprit. As so often, a single flag makes all the difference.
In
server.xml
the AJP/1.3 connector must be configured withtomcatAuthentication="false"
. An explanation of this parameter can be found here (scroll to bottom): http://tomcat.apache.org/tomcat-5.5-doc/config/ajp.html.The following threads helped quite a bit: mail-archive.com/[email protected]/msg55080.html.