如何修复Tomcat HTTP状态403:拒绝访问所请求的资源?

6

我正在尝试使用现有的源代码设置Tomcat。 我从Tomcat网站下载了zip文件(6.0.32)。

然后,我将其放入我的项目配置文件中:tomcatDir\conf\Catalina\localhost

接下来,我添加了用户到tomcat-users.xml

当我使用localhost:8080/<context root>访问我的应用程序时,我会得到登录提示。提供正确的凭据后,Tomcat会抛出403错误。 我可以使用localhost:8080/manager/访问管理器

tomcat-users.xml:

<role rolename="manager"/>
<role rolename="admin"/>
<user username="admin" password="5c50nD" roles="admin,manager"/>
<user username="nih\kishorev" password="altum" roles="admin,manager"/>

我也遇到了同样的问题...你解决了吗?我可以访问状态页面,但管理应用程序会出现这个错误... - FailedDev
5个回答

3

您应该选择Tomcat定义的管理角色,而不是管理员或经理。

manager-gui - Allows access to the html interface
manager-script - Allows access to the plain text interface
manager-jmx - Allows access to the JMX proxy interface
manager-status - Allows access to the read-only status pages

链接到Tomcat中配置管理器应用程序访问权限的说明


2
这个对我来说有效。
<role rolename="manager"/>
<user username="admin" password="admin" roles="manager"/>

2

您需要将表单操作更改为Post,显然在Tomcat 6.0.32版本上使用GET方法存在问题,这个问题应该在Tomcat 6.0.33版本中得到解决。

链接到Tomcat Bugzilla


1
我有同样的问题。我需要做两件事情。在web.xml中,您必须定义BASIC或其他方法,以便引导到基于表单的登录提示和一个角色名称,例如Admin:
    <security-constraint>   
    <web-resource-collection>   
        <web-resource-name>Protected Admin Area</web-resource-name>   
        <url-pattern>/Admin</url-pattern>   
    </web-resource-collection>
    <auth-constraint>
        <role-name>Admin</role-name>
    </auth-constraint>   
  </security-constraint>  
  <login-config>   
        <auth-method>BASIC</auth-method>
  </login-config>  

在tomcat-users.xml中添加一个具有Admin角色的用户,或者如果您使用像eclipse这样的图形界面,请执行以下操作:在此输入图像描述

0
请检查您的web.xml文件,在其中将<role-name>AllAuthenticatedUser</role-name>中的AllAuthenticatedUsers替换为admin
尝试这样做,然后告诉我是否有效。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接