我已经在stackoverflow中阅读了很多主题来解决我的问题,但没有一个是有用的。
当我尝试使用许多不同的配置登录Manager App([http:// localhost:8080 / manager / html] [1])时,我总是获得 401 Unauthorized 尝试使用权限凭据登录。 我重启了tomcat服务器几次。
这是我在conf / tomcat-users.xml中的最后一次配置
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="admin" password="admin" roles="manager-gui, manager-script, manager-jmx, manager-status, admin-gui, admin-script"/>
</tomcat-users>
这是与server.xml中的tomcat-users相关的部分
<GlobalNamingResources>
<!-- Editable user database that can also be used by
UserDatabaseRealm to authenticate users
-->
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
这是我的配置: Apache Tomcat:版本7.0.40 64位 在Chrome 26上测试
如果我忘了其他有用的东西,请告诉我。 提前致谢
答案 0 :(得分:17)
从拖尾 [tomcat-root] /logs/catalina.out ,我发现您使用的是锁定用户名&#34; admin&#34;
06-May-2014 16:47:41.828 WARNING [http-nio-192.168.0.51-8080-exec-6] org.apache.catalina.realm.LockOutRealm.authenticate An attempt was made to authenticate the locked user "admin"
你应该尝试使用更好的(不可猜测的)用户名。
<role rolename="manager-gui"/>
<user username="TomcatAdmin" password="secpa55wd" roles="manager-gui"/>
这绝对适合你。
答案 1 :(得分:2)
配置对我来说很好。你可以试试下面的 tomcat-users.xml 。
<tomcat-users>
<user name="admin" password="admin" roles="admin-gui,manager-gui" />
</tomcat-users>
请在更改后重新启动服务器。
答案 2 :(得分:1)
上述解决方案可能解决了您的问题。锁定的用户解决方案让我知道了我的问题。
我注意到一些奇怪的事情......不知道它是怎么发生的。
安装新的tomcat7后,我最终得到了一个&#34; tomcat-users.xml&#34;用户root和组root拥有的文件。
我发现因为catalina.out包含几行,例如&#34; javax.naming.NamingException:/var/lib/tomcat7/conf/tomcat-users.xml(Permission denied)&#34;
将文件所有权更改为用户&#34; root&#34; &安培; group&#34; tomcat7&#34;修复了我的登录问题。
答案 3 :(得分:1)
如果你尝试任何其他Answers然后没有区别,你可能需要清理你的Tomcat ,然后再试一次。这些是我干净的命令(不确定它们有多普遍):
rm -R $TOMCAT_HOME/work/Catalina/<host>/*
rm -rf $TOMCAT_HOME/webapps/<app name>
答案 4 :(得分:0)
在我的情况下,密码有特殊字符,在添加到/opt/tomcat/conf/tomcat-users.xml
文件之前需要进行XML编码。
我用于编码的工具是https://coderstoolbox.net/string/#!encoding=xml&action=encode&charset=us_ascii
答案 5 :(得分:0)
同时验证您正在编辑的tomcat-users.xml是否与您正在运行的Tomcat实例相对应。如果您有多个安装但只有一个正在运行,请确保您在正确的位置编辑该文件。
运行startup.bat(或startup.sh)时,脚本将输出CATALINA_ *环境变量。如果路径与您正在运行的当前工作目录匹配,那么您可能已经编辑了错误的tomcat-users.xml文件。
答案 6 :(得分:0)
检查语法和开始结束标记。当我开始研究java时,我犯了愚蠢的错误。 这条线对我有用。
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="manager-gui"/>
</tomcat-users>
答案 7 :(得分:0)
如果您使用的是XAMPP,请执行以下步骤
然后在弹出窗口中选择tomcat-users.xml
当它在编辑器中打开时,将以下内容粘贴到内部 tomcat-users标签 使用您的密码。如下
<tomcat-users>
<role rolename="manager-gui"/>
<user username="tomcat" password="password" roles="manager-gui"/>
</tomcat-users>
4。然后从XAMPP重新启动tomcat服务器。
5。然后使用浏览器打开tomcat,您可以按照上面的配置文件中的说明输入用户名和密码,在我的情况下,用户名= tomcat,密码= password
答案 8 :(得分:0)
不要改变任何东西。只需将以下配置替换为 /etc/tomcat9/tomcat-users.xml
<?xml version="1.0" encoding="UTF-8"?>
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<role rolename="tomcat"/>
<role rolename="admin-gui"/>
<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="admin-gui,manager-gui,tomcat" /
</tomcat-users>
然后使用sudo systemctl restart tomcat9
使用此网址登录 manage-app admin http://127.0.0.1:8080/manager/html
答案 9 :(得分:-2)
1.转到 C:\Program Files\Apache Tomcat 7\conf\tomcat-users.xml 用记事本打开 2.并在标签内添加以下标签
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="manager-gui"/>
3.在浏览器上输入: http://localhost:9090/manager/html 输入用户名:tomcat 密码:tomcat