尝试登录但不能。 我的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>
有什么建议吗?
答案 0 :(得分:23)
删除admin / admin角色之间的空格。该列表应以逗号分隔:
<?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>
答案 1 :(得分:9)
我遇到了同样的问题,但对我来说原因是 server.xml 文件。
在文件中有一个标签指定tomcat-users.xml的路径:
<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="/etc/tomcat7/tomcat-users.xml" />
您必须确保路径名已正确设置为 tomcat-users.xml 文件的位置。
答案 2 :(得分:5)
并检查是否未注释:
<!-- ... -->
答案 3 :(得分:3)
您还需要在对tomcat-users.xml
或server.xml
,context.xml
或web.xml
进行更改后重新启动Tomcat,以使更改生效。
就我而言,问题是我在进行更改后没有重启Tomcat。
同样在Tomcat 7上,我已将manager-script
,manager-gui
个角色分配给同一个用户。所以Tomcat给出了403错误来强制执行CRSF保护。
<强>错误强>:
<role rolename="manager-script" />
<role rolename="manager-gui" />
<user username="maven-deployer" password="s3cret" roles="manager-script,manager-gui" />
<强>正确强>:
<role rolename="manager-script" />
<role rolename="manager-gui" />
<user username="maven-deployer" password="s3cret" roles="manager-script" />
<user username="gui-manager" password="s3cret" roles="manager-gui" />
答案 4 :(得分:2)
检查文件&#39; /etc/tomcat7/tomcat-users.xml'的权限和所有权。它应该由root拥有,组所有权应该是tomcat7。
-rw-r ----- 1 root tomcat7 2101 1月22日10:34 tomcat-users.xml
这是在Ubuntu 14.04.3 LTS,YMMV
上答案 5 :(得分:2)
我在访问 Tomcat 的管理器(v8.0)时遇到了一些问题,这是 Windows 10 下 NetBeans (v8.2)IDE的一部分。
用于添加gui-manager用户/密码对的实际 tomcat-users.xml文件位于C:\ Users \\ AppData \ Roaming \ NetBeans \ 8.2 \ apache-tomcat-8.0。 27.0_base \ conf \ path。打开tomcat-users.xml文件并添加一些行:
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<user username="root" password="root" roles="manager-gui,manager-script,manager-jmx,manager-status"/>
之后,您应该重新启动Tomcat并再次尝试访问管理器。
答案 6 :(得分:1)
从repo安装的Ubuntu Server 14.04.3 tomcat7
对我来说有用的是从tomcat-users.xml文件中删除角色定义。然后重启tomcat。
我的文件现在看起来像这样:
<tomcat-users>
<!--
NOTE: By default, no user is included in the "manager-gui" role required
to operate the "/manager/html" web application. If you wish to use this app,
you must define such a user - the username and password are arbitrary.
-->
<!--
NOTE: The sample user and role entries below are wrapped in a comment
and thus are ignored when reading this file. Do not forget to remove
<!.. ..> that surrounds them.
-->
<user username="admin" password="n0tmyr3alp455w0rd" roles="manager-gui,admin-gui"/>
</tomcat-users>
请注意,说明书告诉您定义属于manager-gui的用户,但它不会告诉您定义角色&#34; manager-gui&#34;
答案 7 :(得分:0)
尝试
sudo apt-get install tomcat7-admin
答案 8 :(得分:0)
因此,如果没有其他方法适合您,请在此处查看
我在 server.xml 中使用了以下行
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="jdbc/myapp"/>
此处应始终为 resourceName="UserDatabase"
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
我错误地认为它与我的应用程序数据库有关并已对其进行了配置。这是 tomcat 用户数据库,而不是您的应用程序所拥有的数据库。