Tomcat一直要求输入密码和用户名

5

您好,我不确定自己是否正在尝试连接到Apache服务器,这是我正在学习的课程。但是,现在在我将代码删除并恢复为默认设置后,它一直在要求输入密码。

以下是我的tomcat-users.xml文件内容:

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<user username="ide" password="EiWnNlBG" roles="manager-script,admin"/>
</tomcat-users>

同时,这是在工具--->服务器--->密码和用户名中设置的。

我在输出中得到的错误信息如下:

Deployment error: Access to Tomcat server has not been authorized. Set the correct username and password with the "manager-script" role in the Tomcat customizer in the Server Manager.
See the server log for details.
BUILD FAILED (total time: 6 seconds)

我只改变了tomcat-users.xml和web.xml,但我已经恢复了一切正常,但仍然要求输入用户名和密码。


请查看此处:http://technology.amis.nl/2012/01/02/installing-tomcat-7-and-configuring-as-server-in-netbeans/ - Nir Alfasi
你是如何构建和部署的?使用ANT脚本吗?也许你在部署脚本中没有更新凭据。你使用的是哪个集成开发环境(IDE)?还有,是否安装了多个Tomcat?也许你指向了错误的Tomcat,或者根本没有指向Tomcat?我建议先退后一步,再仔细检查一切。 - Khush
2个回答

1

对于我自己来说,我遇到了这个问题,因为我在密码中使用了特殊字符&。确保转义它们或用其他字符替换。


对我来说,那个字符是 "!"。 - Josh B

1
这让我苦恼了很长时间。我尝试修改XML文件,但没有任何效果。我被逼到分神的边缘,杀死了所有Apache/Tomcat进程和服务,但仍然http://localhost:8080要求我输入用户名和密码。所以我想肯定有其他东西在使用端口8080。但是是什么呢?是时候回到CMD了(记得以管理员身份运行CMD)。
netstat -aon | findstr 8080
TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 3472 TCP [::]:8080 [::]:0 LISTENING 3472
因此,进程ID 3472正在使用该端口。但是进程ID 3472是什么?
tasklist | findstr 3472
TNSLSNR.EXE 3472 Services 0 13,256 K

因此,快速搜索TNSLSNR会发现它是Oracle监听器。我现在需要它吗?不需要。所以我杀掉了它。

taskkill /F /PID 3472

成功: 已终止PID为3472的进程。

太好了!现在没有来自非Apache/Tomcat进程和/或服务的干扰,我可以专注于正确配置Apache。


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