Web服务和基本身份验证出错

时间:2016-07-25 12:57:15

标签: tomcat basic-authentication

我知道有类似的问题,但我已经尝试过,无法找到错误的位置。

我想要设置基本身份验证来访问tomcat中的web服务,在netbeans 7.4中进行开发

因此,web服务位于URL MyWebservice中,因此如果没有身份验证设置,我可以浏览http://localhost:8084/MyWebservice?wsdl来获取WSDL。

所以我已经放入tomcat-users.xml:

<role rolename="webservicerole"/>
<user username="wsuser" password="wspwd" roles="webservicerole"/>

在web.xml中:

<security-constraint> 
    <web-resource-collection>
        <web-resource-name>MyWebservice</web-resource-name>
        <url-pattern>/MyWebservice</url-pattern>
    </web-resource-collection>
<auth-constraint>
    <role-name>wsuser</role-name>
</auth-constraint>
</security-constraint> 
<login-config>
    <auth-method>BASIC</auth-method>
</login-config>

现在,如果我浏览到http://localhost:8084/MyWebservice,我收到了http 403错误,如果我退出web.xml中的基本身份验证,我会在webservice网址上显示一个正确的网页信息,显示有关端口等的信息。

我无法查看的(确定明显的)错误???

我很确定我之前在目录中使用DIGEST身份验证做了类似的事情,并且效果很好。

问候。

1 个答案:

答案 0 :(得分:0)

您的rolename不正确。它应该是:

<auth-constraint>
   <role-name>webservicerole</role-name>
</auth-constraint>