1.security-constraint元素
部署描述符中的<security-constraint>元素允许不通过编程就可以限制对某个资源的访问。
<security-constraint> <display-name>default</display-name> <web-resource-collection> <web-resource-name>all files</web-resource-name> <url-pattern>/*</url-pattern> </web-resource-collection> <auth-constraint> <role-name>admin</role-name> </auth-constraint> <user-data-constraint> <transport-guarantee>NONE</transport-guarantee> </user-data-constraint> </security-constraint>
(1) web-resource-collection元素
web-resource-collection元素标识需要限制访问的资源子集。在web-resource-collection元素中,可以定义URL模式和HTTP方法。如果不存在HTTP方法,就将安全约束应用于所有的方法。
web-resource-name是与受保护资源相关联的名称。http-method元素可被赋予一个HTTP方法,比如GET和POS。
(2) auth-constraint元素
auth-constraint元素用于指定可以访问该资源集合的用户角色。如果没有指定auth-constraint元素,就将安全约束应用于所有角色。
role-name元素包含安全角色的名称。
(3) user-data-constraint元素
user-data-constraint元素用来显示怎样保护在客户端和Web容器之间传递的数据。
transport-guarantee元素必须具有如下的某个值:
● NONE,这意味着应用不需要传输保证。
● INTEGRAL,意味着服务器和客户端之间的数据必须以某种方式发送,而且在传送中不能改变。
● CONFIDENTIAL,这意味着传输的数据必须是加密的数据。
在大多数情况下,安全套接字层(SSL)用于INTEGRAL或CONFIDENTIAL。
2.login-config元素
login-config元素用来指定所使用的验证方法、领域名和表单验证机制所需的特性。
<login-config>
<auth-method>FORM</auth-method>
<realm-name>appTest</realm-name>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/login_failed.jsp</form-error-page>
</form-login-config>
</login-config>
login-config子元素的描述如下:
● auth-method指定验证方法。它的值为下面的一个:BASIC、DIGEST、FORM或 CLIENT-CERT
● realm-name指定HTTP Basic验证中使用的领域名。
●form-login-config指定基于表单的登录中应该使用的登录页面和出错页面。如果没有使用基于表单的验证,则忽略这些元素。这个元素的定义如下,其中form-login-page用于指定显示登录页面的资源路径, form-error-page则用于指定用户登录失败时显示出错页面的资源路径。这两个页面路径都必须以a/开始,并与应用目录相对应。
3.security-role元素
security-role元素指定用于安全约束中的安全角色的声明。
<security-role>
<description>admin</description>
<role-name>admin</role-name>
</security-role>
<security-constraint> <display-name> baseporject</display-name> <web-resource-collection> <web-resource-name>baseproject</web-resource-name> <url-pattern>*.jsp</url-pattern> <url-pattern>*.do</url-pattern> <http-method>GET</http-method> <http-method>PUT</http-method> <http-method>HEAD</http-method> <http-method>TRACE</http-method> <http-method>POST</http-method> <http-method>DELETE</http-method> <http-method>OPTIONS</http-method> </web-resource-collection> <auth-constraint> <description> baseproject</description> <role-name>All Role</role-name> </auth-constraint> <user-data-constraint> <transport-guarantee>NONE</transport-guarantee> </user-data-constraint> </security-constraint> <login-config>Xml代码 <!--四种验证方式,附在最后有说明--> <auth-method>FORM</auth-method> <form-login-config> <form-login-page>/login.html</form-login-page> <form-error-page>/error.html</form-error-page> </form-login-config> </login-config> <security-role> <role-name>All Role</role-name> </security-role>
自己项目采用:
<security-constraint> <web-resource-collection> <web-resource-name>testxiangmu</web-resource-name> <url-pattern>/ssl/*</url-pattern> </web-resource-collection> <user-data-constraint> <transport-guarantee>CONFIDENTIAL</transport-guarantee> </user-data-constraint> </security-constraint>
网上配置SSL的例子
http://www.oschina.net/question/12_23148
相关推荐
在现代Web应用开发中,前端框架如Vue.js与后端服务器如Apache Tomcat的交互是不可或缺的。然而,由于浏览器的同源策略限制,不同源的请求(即协议、域名或端口任一不同)会被阻止,这在开发过程中可能会导致前端与...
除了以上提到的配置,`web.xml`还可以包含错误页面定义、安全配置(如`<security-constraint>`)、本地化支持(`locale-encoding-mapping-list`)等。正确的配置有助于提升应用程序的性能、安全性和可维护性。理解并...
在web.xml文件中配置下面一段内容 <security-constraint> <web-resource-collection> <url-pattern>/*</url-pattern> <http-method>PUT</http-method> <http-method>DELETE</http-method> <http-method>HEAD</...
### web.xml详解(web-app_2_3.dtd) 在Java Web开发中,`web.xml`是部署描述文件的核心部分,它定义了Web应用...`security-role`元素用于定义安全角色,这些角色可以在`security-constraint`中引用。DTD定义如下: ...
### Web.xml详细说明 #### 一、概述 `web.xml`是Java Web应用程序中的核心配置文件,用于描述和配置Web应用程序的各种属性、组件及其行为。本文档将详细解析`web.xml`中的各个元素及其功能,帮助开发者更好地理解...
#### <security-constraint> - **作用**:指定哪些URL路径需要认证和授权,以及所使用的认证方式。 - **示例**: ```xml <security-constraint> <web-resource-collection> <web-resource-name>Secure Area</...
<description>This is a simple web application for demonstration purposes.</description> ``` ##### 2.4 `<context-param>` - **定义**:配置上下文参数,这些参数可以在整个Web应用范围内访问。 - **用途**...
13. 安全约束:<security-constraint> 元素用于制定应该保护的 URL。<login-config> 元素用于指定服务器应该怎样给试图访问受保护页面的用户授权。 14. 安全角色:<security-role> 元素用于给出安全角色的一个列表...
- **限制对Web资源的访问**:使用`<security-constraint>`元素定义安全约束,限制URL或资源的访问权限。 - **分配角色名**:`<role-name>`元素用于定义应用的角色,这些角色可以关联到用户的权限。 10. **控制...
- `<security-constraint>`:定义安全约束,如`<web-resource-collection>`定义受保护的URL集。 - `<login-config>`:`<auth-method>`指定认证方法,如FORM、BASIC等。 四、最佳实践 - 遵循标准:确保配置符合...
19. `<security-role>` - 列出将在`servlet`元素内的`<security-role-ref>`元素中引用的安全角色。 #### 3. 分配名称和定制URL 为了给servlet或JSP页面指定初始化参数或定制URL,需要首先命名这些组件。这通过`...
17. `<security-constraint>`:security-constraint 元素用于制定应该保护的 URL。 18. `<login-config>`:login-config 元素用于指定服务器应该怎样给试图访问受保护页面的用户授权。 19. `<security-role>`:...
在Java Web开发中,`web.xml`是一个非常重要的配置文件,它作为Web应用程序的部署描述符,负责管理与应用程序相关的各项配置信息。本文将深入解析`web.xml`的各项元素及其作用,帮助开发者更好地理解并利用这一配置...
17. **<security-constraint>**: 定义哪些URL需要进行安全性约束,比如需要用户登录才能访问。 18. **<login-config>**: 设置用户的认证机制,例如定义应用的认证协议、角色名称等。 19. **<security-role>**: ...
- **安全约束** (`<security-constraint>`):定义URL访问控制,结合`<login-config>`进行认证和授权。 了解并熟练使用`web.xml`配置对于任何Java Web开发者来说都是至关重要的,因为它直接影响到Web应用的功能、...
2. **添加安全约束**:在`web.xml`中增加`<security-constraint>`元素来定义需要验证的资源。在这个例子中,通过`<url-pattern>`指定所有以`/services/*`开头的URL都必须经过验证。 3. **指定认证方式**:在`<login...
</security-constraint> ``` **15. login-config** ```xml <login-config> <auth-method>BASIC</auth-method> <realm-name>My Realm</realm-name> </login-config> ``` **16. security-role** ```xml ...
这里的`<security-domain>`标签指定了一个JAAS(Java Authentication and Authorization Service)安全域,它关联了一个特定的登录模块,用于验证用户身份。 ##### 2. 配置 `web.xml` 文件 接下来,还需要配置同...