如何为NetBeans设置Tomcat Manager应用程序的用户名和密码?

72

我正在尝试按照一个教程在NetBeans中创建一个非常基础的Java Web应用程序。

当我尝试运行它时,会出现一个标题为"需要身份验证"的对话框。 对话框内有"Tomcat Manager Application"的标题和"用户名"和"密码"字段。

经过调查,我了解到我应该编辑文件

\TOMCAT_HOME\conf\tomcat-users.xml

要包含类似以下内容:

<user username="user" password="password" roles="standard,manager"/>

我已经这样做了,但还没有帮助。

能否有人提供一些见解?我正在使用Tomcat 6.0.20、NetBeans 6.7.1和Windows Vista。我正在使用jdk1.7.0,但Java在这个项目中还没有发挥作用。

11个回答

96

当您从NetBeans IDE启动Tomcat服务器时,您需要在“工具->服务器”菜单中检查连接选项卡上的Tomcat服务器 - 这是Catalina基目录。您需要包含类似以下内容:

 <role rolename="manager"/>
  <user username="admin" password="admin" roles="manager"/>

在文件中

\CATALINA_BASE\conf\tomcat-users.xml

或者使用由IDE自动生成的用户名,该用户名已经在此文件或连接选项卡中放置了描述

对于管理应用程序:GUI访问

<role rolename="manager-gui"/>
<user username="tomcat" password="s3cret" roles="manager-gui"/>

9
如果您正在使用用户界面,应将其更改为<role rolename="manager-gui"/> <user username="admin" password="admin" roles="manager-gui"/>。 - M.C.
2
请记得从tomcat-users文件中删除封装的注释,以便您实际应用角色更改(“<!--和-->”)。 - Hightower
在我的情况下,Tomcat 被放置在具有管理员访问权限的文件夹中(程序文件)。因此,我将 Tomcat 解压到“用户/文档”文件夹中,从 NetBeans 中删除了 Tomcat 服务器,重新分配了新位置并再次添加了 Tomcat,现在它可以正常工作。 - CodeToLife
应用此更改后,错误已更改,但输出窗口要求我将角色设置为“manager-script”,而不是建议的“manager”或“manager-gui”。 - Adindu Stevens

18

Netbeans问题:针对Apache Tomcat服务器,认证要求对话框会请求用户名和密码

如果通过NetBeans IDE启动Tomcat时未设置用户角色及其凭据或其凭据不正确,则会出现此对话框,

或者当IDE中设置的用户名/密码与"canf/tomcat-user.xml"文件中的用户名/密码不匹配时也会出现。

1.需要检查在IDE工具-->服务器中设置的用户名和密码

2. 检查\CATALINA_BASE\conf\tomcat-users.xml,是否已定义用户及其角色。 如果没有,请添加这些行。

<user username="ide" password="EiWnNlBG" roles="manager-script,admin"/>
</tomcat-users>

3. 在 IDE 工具的服务器设置中设置相同的用户名和密码

  1. 重启服务器以使更改生效

来源: http://ohmjavaclasses.blogspot.com/2011/12/netbeans-problem-for-apache-tomcat.html


我希望你的答案对某人有用。至于我,我现在不使用NetBeans,并且我不知道我如何解决两年前的这个问题。因此,我将无法评估您的答案并确定它是否值得点赞。 - Eric Wilson

16

对于Tomcat 7而言,角色已从manager更改为manager-gui,因此请在tomcat-user.xml文件中进行以下设置。

输入图像描述


1
Tomcat8也使用这些角色,请参见:配置管理器应用程序访问。Netbeans正在寻找“manager-script”角色 - 服务器/Tomcat属性对话框。 - will
请勿在此处发布文本图片。直接发布文本即可,这样做浪费您的时间和我们的带宽。 - user207421

12

如果您在Linux中使用Netbeans,则应查找位于tomcat-user.xml的文件。

/home/Username/.netbeans/8.0/apache-tomcat-8.0.3.0_base/conf

其被称为Catalina Base并且经常被隐藏,而不是Apache安装目录。

打开该文件夹内的tomcat-user.xml,取消注释用户和角色,并添加/替换以下行。

    <user username="tomcat" password="tomcat" roles="tomcat,admin,admin-gui,manager,manager-gui"/>

重启服务器。就这些。


1
谢谢。我建议如果您选择回答近5年前发布的问题,您应该解释一下您的答案提供了什么,而现有的答案缺少了什么。 - Eric Wilson

2

跟随我的步骤,让你更加愉快:

1.- 当你第一次配置Netbeans时,他们会要求你为Catalina-Server设置“用户”和“密码”。

2.- 输入任何“用户”和“密码”。这将修改您的“tomcat-users.xml”,并添加:

user password="MYPASS" roles="manager-script,admin,tomcat" username="MYUSER"

3.- 要使用此“用户”,只需重新启动您的TOMCAT WEB SERVER和NETBEANS即可。


希望这能帮助到某个人。这可能是我在一个4年前的问题上收到的第一个答案。 - Eric Wilson

2

在这行代码之前,打开文件\conf\tomcat-users.xml

</tomcat-users>

添加这些行

<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>   
<user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status"/>

我建议测试时打开浏览器并访问此URL: - DoesEatOats

1
使用类似以下方式更新您的Tomcat用户。
<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="manager-gui"/>

Tomcat用户文件位于tomcat安装的conf文件夹中。 要查找catalina_base的路径,可以使用以下命令: ps aux | grep catalina 您可以找到其中一个值- Dcatalina.base=/usr/local/Cellar/tomcat/9.0.37/libexec

最重要的是:

不要忘记在角色开始之前从tomcat-users.xml中删除注释行。<!-- -->


1

更新'apache-tomcat-8.5.5\conf\tomcat-users.xml'文件。取消注释角色并添加/替换以下行,并重新启动服务器。

tomcat-users.xml文件

<role rolename="admin"/>
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="standard,manager,admin,manager-gui,manager-script"/>

0

您可以在计算机上的每个Tomcat安装中至少找到两次 \Users\<Name>\AppData\Roaming\Netbeans\ 中的 tomcat-users.xml 文件。


-1

进入apache-tomcat\conf文件夹,在tomcat-users.xml文件中添加以下行:

<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="manager-gui"/>

并重新启动服务器


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接