Java 为什么Tomcat给出403错误?

Java 为什么Tomcat给出403错误?,java,web-services,apache,tomcat,access-control,Java,Web Services,Apache,Tomcat,Access Control,我在下面配置tomcat-users.xml: <?xml version='1.0' encoding='utf-8'?> <tomcat-users> <role rolename="tomcat"/> <role rolename="role1"/> <role rolename="manager"/> <role rolename="admin"/> <user username="admin" p

我在下面配置tomcat-users.xml:

<?xml version='1.0' encoding='utf-8'?> 
<tomcat-users> 
<role rolename="tomcat"/> 
<role rolename="role1"/> 
<role rolename="manager"/> 
<role rolename="admin"/> 
<user username="admin" password="admin" roles="admin,manager"/> 
<user username="tomcat" password="tomcat" roles="tomcat"/> 
<user username="role1" password="tomcat" roles="role1"/> 
<user username="both" password="tomcat" roles="tomcat,role1"/>  
</tomcat-users>
但是当我提交表单时,tomcat给出了以下错误:

HTTP Status 403 - Access to the requested resource has been denied

type Status report

message Access to the requested resource has been denied

description Access to the specified resource (Access to the requested resource has been denied) has been forbidden.

Apache Tomcat/7.0.26
我已经编辑了tomcat-users.xml并使用管理员用户帐户登录。为什么这仍然不起作用

更新:

webapp的web.xml如下所示: web.xml:

 <security-constraint>
    <web-resource-collection>
      <web-resource-name>HTMLManger and Manager command</web-resource-name>
      <url-pattern>/ui/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
      <role-name>viewer</role-name>
    </auth-constraint>
  </security-constraint>
  <login-config>
    <auth-method>BASIC</auth-method>
    <realm-name>Tomcat Manager Application</realm-name>
  </login-config>
  <security-role>
    <description> </description>
    <role-name>viewer</role-name>
  </security-role>

HTMLManger和Manager命令
/用户界面/*
观众
基本的
Tomcat管理器应用程序
观众
I edit the tomcat-users.xml to:

<?xml version='1.0' encoding='utf-8'?>
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-status"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="viewer"/>
<role rolename="admin"/>
<role rolename="tomcat"/>
<user username="admin" password="admin" roles="manager-gui"/>
<user username="viewer" password="viewer" roles="admin,tomcat,manager-gui,manager-script"/>
</tomcat-users>

But it still not work.

您应该修复此问题:

<user username="viewer" password="viewer" roles="admin,tomcat,manager-gui,manager-script"/>

此用户需要删除角色“经理脚本”,以便通过html界面获得访问权限。所以它应该看起来像:

<user username="viewer" password="viewer" roles="admin,tomcat,manager-gui"/>

您的web.xml说需要“查看器”角色。您以管理员用户身份登录,该用户不具有该角色

更新tomcat-users.xml,如下所示:

<user username="admin" password="admin" roles="manager-gui, viewer"/>;

奇怪的是,您的“查看器”用户也没有查看器角色,但这不是问题的原因(如果您以管理员身份登录)

请发布您的web.xml您的应用程序名为“dupload”或“mps4”?我的应用程序名为mps4。“dupload”有一个html表单提交给mps4应用程序以获取任务状态。
<user username="admin" password="admin" roles="manager-gui, viewer"/>;