如何从我的 tomcat servlet 中的 httpd 基本身份验证获取远程用户?

如何从我的 tomcat servlet 中的 httpd 基本身份验证获取远程用户?

我已成功将 mod_proxy_ajp 从我的 httpd 配置到 Tomcat,其中 httpd 执行 SSL 和基本身份验证。我需要我的 tomcat 应用程序中的远程用户,因此我认为使用 AJP 会填充标头,这样 HttpServletRequest.getRemoteUser() 就会给我用户名,但它是“null”。但是 HttpServletRequest.getRemoteHost() 填充正确。

我需要做什么才能从我的 tomcat servlet 中的 httpd 基本身份验证中获取远程用户?

答案1

在 StackOverflow 上找到了答案...通过AJP将REMOTE_USER转发到tomcat

底线是您必须添加tomcatAuthentication="false"到您的 AJP 连接器。

默认...

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /> 

...变成...

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" tomcatAuthentication="false" /> 

相关内容