web.xml 中的代码
<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>
<!--四种验证方式,附在最后有说明-->
<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-constriaint元素的用途是用来指示服务器使用何种验证方法了.此元素在web.xml中应该出现在login-config的紧前面。它包含是个可能的子元素,分别是:web-resource-collection、auth-constraint、user-data-constraint和display-name。下面各小节对它们进行介绍。
1. web-resource-collection 此元素确定应该保护的资源,所有security-constraint元素都必须包含至少一个web- resource-collection项.此元素由一个给出任意标识名称的web-resource-name元素、一个确定应该保护URL 的url-pattern元素、一个指出此保护所适用的HTTP命令(GET、POST等,缺省为所有方法)的http-method元素和一个提供资料的可选description元素组成。
重要的是应该注意到,url-pattern仅适用于直接访问这些资源的客户机。特别是,它不适合于通过MVC体系结构利用RequestDispatcher来访问的页面,或者不适合于利用类似jsp:forward的手段来访问的页面。
2. auth-constraint元素却指出哪些用户应该具有受保护资源的访问权。此元素应该包含一个或多个标识具有访问权限的用户类别role-name元素,以及包含(可选)一个描述角色的description元素。
3. user-data-constraint
这个可选的元素指出在访问相关资源时使用任何传输层保护。它必须包含一个transport-guarantee子元素(合法值为NONE、INTEGRAL或CONFIDENTIAL),并且可选地包含一个description元素。transport-guarantee为NONE值将对所用的通讯协议不加限制。INTEGRAL值表示数据必须以一种防止截取它的人阅读它的方式传送。虽然原理上(并且在未来的HTTP版本中),在INTEGRAL和CONFIDENTIAL之间可能会有差别,但在当前实践中,他们都只是简单地要求用SSL。
=========================================================
四种认证类型:
BASIC:HTTP规范,Base64
<web-app>
......
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
......
</web-app>
DIGEST:HTTP规范,数据完整性强一些,但不是SSL
<web-app>
......
<login-config>
<auth-method>DIGEST</auth-method>
</login-config>
......
</web-app>
CLIENT-CERT:J2EE规范,数据完整性很强,公共钥匙(PKC)
<web-app>
......
<login-config>
<auth-method>CLIENT-CERT</auth-method>
</login-config>
......
</web-app>
FORM:J2EE规范,数据完整性非常弱,没有加密,允许有定制的登陆界面。
<web-app>
......
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.html</form-login-page>
<form-error-page>/error.jsp</form-error-page>
</form-login-config>
</login-config>
......
</web-app>
这里的 FORM 方式需要说明的是 登录页面的固定的元素:login.html
<form name="loginform" method="post" action="j_security_check">
<INPUT name="j_username" type="text">
<INPUT name="j_password" TYPE="password">
<input type="submit" value="登 录" >
</form>
form 的action 必须是j_security_check, method="post", 用户名 name="j_username" , 密码name="j_password" 这些都是固定的元素
分享到:
相关推荐
为了提高代码的可维护性和复用性,有时需要将一部分配置内容提取到独立的XML文件中,再在`web.xml`中引用这些文件。本文将详细介绍如何在`web.xml`中引入其他XML配置文件,并解决可能出现的问题。 #### 步骤一:...
web.xml 配置详解是指在 Java Web 应用程序中使用的部署描述符配置文件。它是一个 XML 文件,包含了很多描述 servlet/JSP 应用的各个方面的元素,如 servlet 注册、servlet 映射以及监听器注册。 在 web.xml 文件中...
正确的配置有助于提升应用程序的性能、安全性和可维护性。理解并熟练掌握`web.xml`的配置是每个Spring MVC开发者必备的技能。通过合理的配置,我们可以让Spring MVC更好地服务于我们的Web应用。
在Tomcat的`conf`目录下,有两个主要的XML配置文件:`server.xml`和`web.xml`。`server.xml`是Tomcat的主要配置文件,而`web.xml`则定义了应用程序的行为。 在`server.xml`中,我们需要配置`<Connector>`元素来启用...
### web.xml配置文件详解 #### 一、概述 ...正确地配置`web.xml`不仅可以帮助我们更好地组织和管理Web应用,还能显著提高开发效率和维护性。因此,深入理解每个配置项的作用及其应用场景是非常重要的。
这意味着,在 web.xml 文件中,context-param 配置节应该写在 listener 配置节之前,listener 配置节应该写在 filter 配置节之前,filter 配置节应该写在 servlet 配置节之前。 需要注意的是,与某类配置节相关的...
通过web.xml,开发者可以控制请求处理流程、设置应用级别的配置,以及实现高级功能如过滤、监听和安全性。同时,由于web.xml遵循严格的XML规范和元素顺序,因此保持良好的格式和顺序有助于确保应用在不同服务器上的...
在本案例中,"jboss-web.xml"、"jndi.properties"和"oracle-ds.xml"是针对EJB+JPA在JBoss应用服务器中的配置文件,它们各自承担着不同的职责。 首先,"jboss-web.xml"是JBoss特定的Web应用程序部署描述符,它是...
在Java Web开发中,`web.xml`文件是应用的核心配置...理解和熟练掌握`web.xml`配置,能有效提升开发效率,保证应用的稳定性和安全性。在实际开发中,应结合项目需求灵活运用,遵循最佳实践,以实现高效、可维护的代码。
通过深入学习`web.xml`的配置,开发者可以精确控制Web应用的行为,优化性能,提升安全性,实现更复杂的业务逻辑。这个CHM文件是理解`web.xml`配置的宝贵资源,可以帮助开发者快速掌握Web应用的配置技巧。
在实际项目中,为了提高可维护性和灵活性,可能会使用Spring的`@WebServlet`、`@WebFilter`和`@WebListener`注解替代部分`web.xml`配置,或者采用Java Config方式来配置应用程序。但`web.xml`仍然保留其核心地位,...
通过合理配置和使用,可以极大地提高应用程序的安全性和效率。在实际项目中,Filter常用于处理全局性的问题,如统一字符编码、登录验证、日志记录等。了解并熟练掌握Filter的使用,对于提升Java Web开发能力至关重要...
【web.xml配置详解】 ...总之,`web.xml`是Java Web应用的心脏,通过精确配置它可以实现应用的初始化、过滤、安全控制等关键功能。理解和熟练掌握`web.xml`配置,对于开发和维护高质量的Web应用至关重要。
总结,`web.xml`是Java Web开发中的关键配置文件,它定义了应用程序的运行环境和行为,理解和熟练使用`web.xml`对于提升开发效率和维护性至关重要。通过深入学习和实践,开发者可以更好地掌控Web应用的运行逻辑,...
`web.xml`是Java Web应用程序的核心配置文件,用于定义应用服务器如何初始化和管理Web应用...通过合理的配置,我们可以实现诸如初始化资源、拦截请求、处理异常、安全管理等多种功能,提高Web应用的灵活性和可维护性。
- **可选子元素**:如`context-param`、`filter`、`listener`等,根据具体需求选择性配置。 #### 四、子元素详解 ##### 1. `icon`元素 尽管`web.xml`中并不直接使用`icon`元素来执行任何功能,但可以指定应用的...
Web.xml的配置决定了Web应用的行为和结构,正确配置可以提高应用的可移植性、性能和安全性。每个元素都有其特定作用,理解并熟练掌握它们对于开发和维护高质量的Web应用程序至关重要。在实际开发中,还需要结合具体...
《Web.xml配置详解》 ...通过精细配置`web.xml`,开发者可以实现对Web应用的高级控制,包括过滤、监听、安全性以及资源管理等多个方面。因此,深入学习和熟练运用`web.xml`是每个Web开发者必备的技能之一。
了解并熟练使用`web.xml`配置对于任何Java Web开发者来说都是至关重要的,因为它直接影响到Web应用的功能、性能和安全性。正确配置`web.xml`文件能确保Web应用按预期运行,并在不同服务器环境中保持兼容性。