各位朋友,
我无法登录 Tomcat 中的管理器应用程序 (localhost:8080/manager/html)。更具体地说,它要求我输入用户名和密码,而那些应该正确的用户名和密码却不被接受。以下是我已经检查过的内容:
- 我尝试编辑 conf/tomcat-users.xml 来添加我的用户/角色。以下是该文件的当前内容:
<?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="manager"/> <user username="tomcat" password="s3cret" roles="manager"/> </tomcat-users>
- 我想也许它不是在查找这个 XML,而是在其他地方。所以,我了解到领域。我的配置的 Realm 部分现在是:
< Realm className="org.apache.catalina.realm.MemoryRealm" />
(请忽略 Realm 之前的空格,由于某种原因,该网站不接受文字标签)
我错过了什么?
答案1
我为此苦苦思索了一段时间,然后突然意识到默认的 tomcat-users.xml 文件中的用户示例列表已被 XML 注释掉!
答案2
我见过数百个这样的案例,而且几乎总是与注释行的答案相同。对于新手来说,注释行开头是“< ! - - ”行,末尾是“- - >”行。我不得不在其中添加空格,因为这个该死的编辑器试图注释掉它们之间的所有内容。非常方便。然后执行:sudo /etc/init.d/tomcat6 restart,以便它获取更改,然后,瞧!它就成功了。由于 tomcat/tomcat 已经在那里,您所要做的就是删除这两行注释,重新启动,然后 tomcat/tomcat 就可以正常工作了(假设它在您的文件中具有管理器角色)。
答案3
尝试关闭 tomcat 安全管理器,重新启动 tomcat,看看是否允许您登录。我在设置 tomcat 时必须执行类似的操作。
答案4
这可能太晚了,无法帮到你,但我偶然发现你的问题时也遇到了同样的问题。虽然文档说你可以简单地使用文件的默认位置tomcat-users.xml
,但我发现它实际上似乎不起作用。
尝试像这样指定文件位置:
<Realm className="org.apache.catalina.realm.MemoryRealm" pathname="conf/tomcat-users.xml"/>
看看你是否能成功。