【问题标题】:Tomcat keeps asking for password and usernameTomcat不断询问密码和用户名
【发布时间】:2013-09-27 18:58:57
【问题描述】:

您好,我不确定我是否正在尝试连接到 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,但我将一切恢复正常,仍然要求输入用户名和密码。

【问题讨论】:

  • 您是如何构建和部署的?使用 ANT 脚本?也许您尚未更新部署脚本中的凭据。你用的是什么IDE?还安装了多个tomcat吗?也许您指向错误的tomcat或根本没有指向tomcat?我建议退后一步并再次检查所有内容。

标签: java xml apache tomcat


【解决方案1】:

就我自己而言,我遇到了这个问题,因为我在密码中使用了特殊字符 &。确保将它们转义或替换为其他内容。

【讨论】:

  • 对我来说是“!”字符
【解决方案2】:

这让我发疯了好多年。我跳过了修改 XML 文件的所有步骤,但无济于事。被驱赶到分心的地步,我杀死了所有 Apache/Tomcat 进程和服务,但仍然http://localhost:8080 一直要求我输入用户名和密码。所以我想其他东西一定在使用端口 8080。但是什么?是时候回到老学校了,回到 CMD(记得以管理员身份运行 CMD)。

netstat -aon | findstr 8080

TCP 0.0.0.0:8080 0.0.0.0:0 监听 3472
TCP [::]:8080 [::]:0 监听 3472

因此,进程 id 3472 正在使用该端口。但是进程 id 3472 是什么?

任务列表 | findstr 3472

TNSLSNR.EXE 3472 服务 0 13,256 K

因此,在 Google 上快速搜索 TNSLSNR 会发现它是一个 Oracle 侦听器。我现在需要吗。不,所以我杀了它。

taskkill /F /PID 3472

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

耶!现在不受非 Apache/Tomcat 进程和/或服务的干扰,我可以专注于正确配置 Apache。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-03-19
    相关资源
    最近更新 更多