我正在尝试使用
访问tomcat管理器http://localhost:8080/manager
但输入密码后我总是被拒绝进入。 我收到以下消息:
403拒绝访问
您无权查看此页面。
如果您已将Manager应用程序配置为允许访问 并且您已经使用了浏览器后退按钮,使用了已保存的书签或 类似的话你可能已经触发了跨站点请求伪造 (CSRF)保护已启用HTML接口 经理申请。您需要重置此保护 返回主Manager页面。一旦你回到这个页面,你 将能够继续使用Manager应用程序的HTML界面 一般。如果您继续看到此拒绝访问消息,请检查 您拥有访问此应用程序所需的权限。
如果您还没有更改任何配置文件,请检查 安装中的文件conf / tomcat-users.xml。那个文件必须 包含允许您使用此Web应用程序的凭据。
例如,使用a将manager-gui角色添加到名为tomcat的用户 s3cret的密码,将以下内容添加到上面列出的配置文件中。
请注意,对于Tomcat 7 从那时起,使用经理应用程序所需的角色是 从单个经理角色更改为以下四个角色。您 将需要分配您的功能所需的角色 希望访问。
manager-gui - 允许访问HTML GUI和状态页面 manager-script - 允许访问文本界面和状态 pages manager-jmx - 允许访问JMX代理和状态 pages manager-status - 仅允许访问状态页面HTML 接口受CSRF保护,但文本和JMX接口 不是。为了保持CSRF保护:
具有manager-gui角色的用户不应被授予 manager-script或manager-jmx角色。如果是text或jmx接口 通过浏览器访问(例如,用于测试,因为这些接口 用于工具而不是人类)然后必须关闭浏览器 之后终止会话。有关更多信息 - 请参阅 经理应用程序如何。
这是我的tomcat-users.xml:
<tomcat-users>
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager-gui"/>
<user username="tomcat" password="s3cret" roles="admin-gui,standard,manager-gui"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
</tomcat-users>
我通过intellij idea 12终极运行tomcat 7。 我正在使用Mountain Lion操作系统。 谢谢。
答案 0 :(得分:16)
我编辑了两个文件: server.xml &amp;的 Tomcat的users.xml中强>
第1步:我将此行添加到 server.xml ,此行必须添加到与图片相同的引擎上下文中:
<Realm className="org.apache.catalina.realm.MemoryRealm" />
在这里你可以看到图片:
第2步:然后我编辑了 tomcat-users.xml 并添加了以下行:
<!--
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.
-->
<role rolename="tomcat"/>
<role rolename="role1"/>
<role rolename="manager"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
<user username="admin" password="tomcat" roles="manager-gui,manager-script "/>
</tomcat-users>
注意:我建议您复制并粘贴我的文字并由您替换
重启tomcat,你准备好了!
答案 1 :(得分:3)
对于某个角色,您需要同时拥有权限manager-gui
和manager-script
。
示例:
<!-- you need both roles, manager-gui & manager-script for user-->
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="tomcat"
password="blabla" roles="manager-gui,manager-script "/>
</tomcat-users>
答案 2 :(得分:1)
我已经通过添加CATALINA_HOME变量并在以下字段中为其赋予值/ Library / Tomcat来解决它:
运行 - &gt;编辑配置 - &gt; Tomcat服务器 - &gt; Tomcat 7.0 - &gt; '启动/连接'选项卡 - &gt;环境变量
答案 3 :(得分:0)
我有同样的问题。我通过将配置文件的所有者更改为tomcat来解决它,由于某种原因它们归root所有。
cd /etc/tomcat
chown tomcat:group *
#restart tomcat service
答案 4 :(得分:0)
我遇到了与tomcat相同的问题。我意识到tomcat下的某些文件夹如 lib , conf 没有可执行(x)权限。当我向文件夹提供可执行权限时,问题就解决了。
答案 5 :(得分:0)
假设您在tomcat文件夹中为$ TOMCAT_HOME
第1步:
on $ TOMCAT_HOME / conf / tomcat-users.xml 添加以下行
<user username="admin" password="password" roles="manager-gui,admin-gui"/>
with in:
<tomcat-users.......
</tomcat-users>
所以它看起来像:
<tomcat-users.......
<user username="admin" password="password" roles="manager-gui,admin-gui"/>
</tomcat-users>
<强>步骤2:强>
和$ TOMCAT_HOME / webapps / manager / META-INF / context.xml : 删除以下标记:
<Valve className=......
所以它将如下:
<Context antiResourceLocking="false" privileged="true" >
<!--
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" />
<Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>
-->
</Context>
<强>最终强>
重新启动你的tomcat
找到更多详情答案 6 :(得分:0)
它实际上帮助了我。 您应该尝试使用更好的(不可猜测的)用户名,而不是“ Admin”
<role rolename="manager-gui"/>
<user username="TomcatAdmin" password="secpa55wd" roles="manager-gui"/>