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

时间:2011-04-27 17:37:22

标签: tomcat http-status-code-403

我正在尝试使用我当前的源代码设置Tomcat。 我从tomcat网站(6.0.32)下载了zip。

然后我在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"/>

5 个答案:

答案 0 :(得分:3)

您应该选择由tomcat而不是admin或manager定义的经理角色。

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

链接到Configuring Manager Application access in tomcat

答案 1 :(得分:2)

您需要将表单操作更改为Post,显然在6.0.32版本的tomcat上存在GET方法的问题,应该在6.0.33版本的tomcat中修复。

link to tomcat bugzilla

答案 2 :(得分:2)

这个适用于我

<role rolename="manager"/>
<user username="admin" password="admin" roles="manager"/>

答案 3 :(得分: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之类的图形界面,请执行以下操作:enter image description here

答案 4 :(得分:0)

请检查web.xml中的那个

{p> admin而不是AllAuthenticatedUsers

中的<role-name>AllAuthenticatedUser</role-name>

试试这个,让我知道它是否有效。