我有以下JNDI领域ldap“东西”曾经驻留在META-INF/context.xml
// Obviously i changed some of the code here to hide certain key information
<Realm className="org.apache.catalina.realm.JNDIRealm"
connectionName="uid=admin,ou=system"
connectionPassword="<PASSWORD>"
debug="99"
roleBase="<ROLEBASE>"
roleName="cn" roleNested="true"
roleSearch="(uniqueMember={0})"
roleSubtree="true"
userBase="USERBASE"
userSearch="(mail={0})"
connectionURL="ldap://MACHINE:10389"
/&GT;
现在我已接近工作的生产阶段,我想将此文件移到$CATALINA_BASE/conf/context.xml
文件中,以便我可以进行基于机器的配置。我在两个linux机箱上做到这一点没有问题,但是,当我在我的开发机器上运行并尝试运行时(在netbeans中)我得到了这个提示
我在这里缺少什么钥匙吗?即使我键入了正确的密码,netbeans也会进入一个奇怪的循环并且不会输入密码。一旦我删除了Realm def,一切正常。
我在这里做了一件非常错的事吗?
答案 0 :(得分:0)
我也遇到了这个问题,我可以通过粘贴来自server.xml
的UserDatabaseRealm来解决这个问题:
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
进入tomcat管理器webapp context.xml
webapps\manager\META-INF\context.xml
以及文件夹中的manager.xml
:
%APPDATA%\NetBeans\<netbeans version>\apache-tomcat-<version>_base\conf\Catlina\localhost
我相信你只需要将它粘贴到%APPDATA%\NetBeans\<netbeans version>\apache-tomcat-<version>_base\conf\Catlina\localhost\manager.xml
文件夹中,但是为了安全起见它并没有什么坏处。
作为参考,这就是我的manager.xml
文件现在的样子,一切都按预期工作了:
<Context docBase="${catalina.home}/webapps/manager" antiResourceLocking="false" privileged="true">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
</Context>
希望这也适合你!这是一个非常令人讨厌的问题,我在一个小时左右摸不着头脑。
编辑:注意:当然,conf\Catalina\localhost\manager.xml
文件的位置可能不同,可能不在AppData \ Roaming文件夹中。要获取实际位置,您可以从Tomcat中的服务器属性中获取它。转到工具&gt;服务器并查找Catalina Base: