不知道我说的对不对!以我有限的知识,我认为为了实现安全性,要使用一个或多个 web-resource-collection 元素声明要保护的内容。每个 web-resource-collection 元素都包含一系列可选的 url-pattern 元素,后跟一系列可选的 http-method 元素。url-pattern 元素值指定 URL 模式,请求 URL 必须与该 URL 模式匹配,以使请求对应于访问受保护内容的尝试。http-method 元素值指定允许的 HTTP 请求类型。
<security-constraint>
<web-resource-collection>
<web-resource-name>Secure Content</web-resource-name>
<url-pattern>/restricted/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>AuthorizedUser</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
<!-- ... -->
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>The Restricted Zone</realm-name>
</login-config>
<!-- ... -->
<security-role>
<description>The role required to access restricted content </description>
<role-name>AuthorizedUser</role-name>
</security-role>
位于 Web 应用程序的 /restricted 路径下的 URL 需要 AuthorizedUser 角色。