我试图熟悉TomEE,或者至少是我目前正在使用的旧应用程序中使用的TomCat 7。
在tomcat位置有一个web.xml。据我所知,这用于没有自己的web.xml的所有servlet,对吧?或者这也将用于那些拥有自己的servlet?
不确定此配置文件的层次结构。
试图获得一个基本身份验证,该模块可以通过\ localhost:8080 \ AB等网址分配。 \ localhost:8080 \ manager的tomcat用户工作正常。 但是无法登录\ localhost:8080 \ AB
我尝试修改web.xml,如:
<security-role> <role-name>users</role-name> </security-role> <security-constraint> <web-resource-collection> <web-resource-name>basic demo resource</web-resource-name> <url-pattern>\AB\*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>users</role-name> </auth-constraint> </security-constraint> <login-config> <auth-method>BASIC</auth-method> </login-config>
但访问此servlet仍然无需登录。
比我发现的,这个Java项目中还有另一个web.xml,我也尝试使用上面的代码进行修改。 我知道我做错了什么,但现在不能得到它。
角色&#34;用户&#34;在tomcat-users.xml中创建,用户也分配给该组。
答案 0 :(得分:0)
您只定义了安全约束而非角色。您需要定义tomcat用户和交叉角色,例如。
<tomcat-users>
<role rolename="AB"/> <!-- you have to define all roles -->
<user username="myname" password="mypassword" roles="AB"/>
<!-- you have to assign login and roles -->
</tomcat-users>
答案 1 :(得分:0)
tomcat目录中的web.xml包含默认设置。 webapp可以覆盖自己的web.xml中的定义。
要访问/ AB,您需要:
<url-pattern>/AB/*</url-pattern>
users
的用户