Netbeans 远程用户未由Apache2设置?
我正在从事一个使用Netbeans和Glassfish 3.1的项目,并试图实现LDAP授权。为此,我还使用mod_jk提供了一个支持LDAP的Apache2服务器。要点是,当用户访问/sng/目录中站点上的任何页面时,Apache服务器应该请求凭据并将用户转发到运行该站点部分的Glassfish服务器 Apache正在正确地排队等待并接受LDAP凭据,然后将用户转发到适当的区域。但似乎REMOTE_用户变量不是由Apache设置的,也不是由mod_jk发送的。相关配置文件和代码段如下所示: httpd.confNetbeans 远程用户未由Apache2设置?,netbeans,apache2,glassfish-3,mod-jk,Netbeans,Apache2,Glassfish 3,Mod Jk,我正在从事一个使用Netbeans和Glassfish 3.1的项目,并试图实现LDAP授权。为此,我还使用mod_jk提供了一个支持LDAP的Apache2服务器。要点是,当用户访问/sng/目录中站点上的任何页面时,Apache服务器应该请求凭据并将用户转发到运行该站点部分的Glassfish服务器 Apache正在正确地排队等待并接受LDAP凭据,然后将用户转发到适当的区域。但似乎REMOTE_用户变量不是由Apache设置的,也不是由mod_jk发送的。相关配置文件和代码段如下所示: h
<Location />
AuthBasicProvider ldap
AuthLDAPURL ldap://mainframe/ou=People,dc=dtch,dc=com?uid?sub
AuthzLDAPAuthoritative off
AuthType Basic
AuthName "LDAP"
require valid-user
Options Indexes FollowSymLinks MultiViews +Includes
</Location>
工人。财产
worker.list=worker1
worker.worker1.port=8009
worker.worker1.host=127.0.0.1
worker.worker1.type=ajp13
站点已启用/000默认值
...
JkMount /*.jsp worker1
JkMount /sng/* worker1
web.xml
<filter>
<filter-name>RemoteUser</filter-name>
<filter-class>path.to.RemoteUser</filter-class>
</filter>
<filter-mapping>
<filter-name>RemoteUser</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
</filter-mapping>
最后,我在Glassfish控制面板中注册了一个侦听器:
简言之,我不知道为什么不断返回null,我在互联网上的搜索也没有任何帮助。提前感谢您提供的任何意见
注意:
httpServletRequest.getRemoteUser()
提供了相同的空结果。我从未能够检索到RemoteUser头,但我找到了一个以授权
头形式存在的解决方法。使用getHeader(“授权”)
以以下形式向我返回一个字符串:
Basic XXXX:YYYY
其中X是用户名,Y是通过Apache/mod_jk访问页面的用户的密码
“Basic”(X:Y)后面的字符串部分是Base64编码的,因此在用它解码后,我最终获得了一个可以使用的用户名。我从来都无法检索RemoteUser标头,但我找到了一种解决方法,即
授权标头。使用getHeader(“授权”)
以以下形式向我返回一个字符串:
Basic XXXX:YYYY
其中X是用户名,Y是通过Apache/mod_jk访问页面的用户的密码
“Basic”(X:Y)后面的字符串部分是Base64编码的,所以在用它解码之后,我最终得到了一个可以使用的用户名。我也有这个问题。我在另一个帖子上偶然找到了答案。您必须在tomcat中更新server.xml
,如下所示:
<Connector protocol="AJP/1.3" port="..." ...
tomcatAuthentication="false" />
必须指定tomcatAuthentication
。一旦我进行了更新,tomcat反弹道,getRemoteUser()
对我有效。我也有这个问题。我在另一个帖子上偶然找到了答案。您必须在tomcat中更新server.xml
,如下所示:
<Connector protocol="AJP/1.3" port="..." ...
tomcatAuthentication="false" />
必须指定tomcatAuthentication
。一旦我进行了更新,tomcat反弹道,getRemoteUser()
为我工作