1.security-constraint元素

部署描述符中的<security-constraint>元素允许不通过编程就可以限制对某个资源的访问。

  1. <security-constraint>
  2. <display-name>default</display-name>
  3. <web-resource-collection>
  4. <web-resource-name>all files</web-resource-name>
  5. <url-pattern>/*</url-pattern>
  6. </web-resource-collection>
  7. <auth-constraint>
  8. <role-name>admin</role-name>
  9. </auth-constraint>
  10. <user-data-constraint>
  11. <transport-guarantee>NONE</transport-guarantee>
  12. </user-data-constraint>
  13. </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>

  1. <security-constraint>
  2. <display-name>
  3. baseporject</display-name>
  4. <web-resource-collection>
  5. <web-resource-name>baseproject</web-resource-name>
  6. <url-pattern>*.jsp</url-pattern>
  7. <url-pattern>*.do</url-pattern>
  8. <http-method>GET</http-method>
  9. <http-method>PUT</http-method>
  10. <http-method>HEAD</http-method>
  11. <http-method>TRACE</http-method>
  12. <http-method>POST</http-method>
  13. <http-method>DELETE</http-method>
  14. <http-method>OPTIONS</http-method>
  15. </web-resource-collection>
  16. <auth-constraint>
  17. <description>
  18. baseproject</description>
  19. <role-name>All Role</role-name>
  20. </auth-constraint>
  21. <user-data-constraint>
  22. <transport-guarantee>NONE</transport-guarantee>
  23. </user-data-constraint>
  24. </security-constraint>
  25. <login-config>Xml代码
  26. <!--四种验证方式,附在最后有说明-->
  27. <auth-method>FORM</auth-method>
  28. <form-login-config>
  29. <form-login-page>/login.html</form-login-page>
  30. <form-error-page>/error.html</form-error-page>
  31. </form-login-config>
  32. </login-config>
  33. <security-role>
  34. <role-name>All Role</role-name>
  35. </security-role>

自己项目采用:

  1. <security-constraint>
  2. <web-resource-collection>
  3. <web-resource-name>testxiangmu</web-resource-name>
  4. <url-pattern>/ssl/*</url-pattern>
  5. </web-resource-collection>
  6. <user-data-constraint>
  7. <transport-guarantee>CONFIDENTIAL</transport-guarantee>
  8. </user-data-constraint>
  9. </security-constraint>

网上配置SSL的例子

http://www.oschina.net/question/12_23148

参考链接:https://liuna718-163-com.iteye.com/blog/2217057

web.xml中<security-constraint>安全认证标签说明的更多相关文章

  1. Servlet 工程 web.xml 中的 servlet 和 servlet-mapping 标签

    本文转载自 陈蒙的博客 最近在学习JavaEE轻量级框架,对于servlet-mapping中的url-partten标签以及网页访问时的执行顺序不是很清楚,搜索了很多遍终于找到了这篇博文(搜索也是个 ...

  2. 【java】Servlet 工程 web.xml 中的 servlet 和 servlet-mapping 标签

    摘录某个工程的 web.xml 文件片段: 访问顺序为1—>2—>3—>4,其中2和3的值必须相同. url-pattern 标签中的值是要在浏览器地址栏中输入的 url,可以自己命 ...

  3. Servlet 工程 web.xml 中的 servlet 和 servlet-mapping 标签 《转载》

    摘录某个工程的 web.xml 文件片段: 访问顺序为1—>2—>3—>4,其中2和3的值必须相同. url-pattern 标签中的值是要在浏览器地址栏中输入的 url,可以自己命 ...

  4. Web.xml中Filter过滤器标签几个说明

    在研究liferay框架中看到Web.xml中加入了过滤器的标签,可以根据页面提交的URL地址进行过滤,发现有几个新标签没用过,下面就介绍以下几个过滤器的标签用法: <!-- 定义Filter ...

  5. web.xml中<security-constraint>和四种认证类型

    https://blog.csdn.net/lisheng19870305/article/details/40819481 sztc开发中http请求一直发送后无响应,通过soapui定位异常信息为 ...

  6. web.xml中Filter过滤器标签说明

    原文:http://www.cnblogs.com/edwardlauxh/archive/2010/03/11/1918618.html 在研究liferay框架中看到Web.xml中加入了过滤器的 ...

  7. Tomcat6和7版本对web.xml中taglib标签的配置差异

    原来部署在Tomcat6中的应用在Tomcat7中运行时报错如下错误: java.lang.IllegalArgumentException: taglib definition not consis ...

  8. SpringMVC: web.xml中声明DispatcherServlet时一定要加入load-on-startup标签

    游历SpringMVC源代码后发现,在web.xml中注冊的ContextLoaderListener监听器不过初始化了一个根上下文,只完毕了组件扫描和与容器初始化相关的一些工作,并没有探測到详细每一 ...

  9. SpringMVC: web.xml中声明DispatcherServlet时一定要添加load-on-startup标签

    游历SpringMVC源码后发现,在web.xml中注册的ContextLoaderListener监听器只是初始化了一个根上下文,仅仅完成了组件扫描和与容器初始化相关的一些工作,并没有探测到具体每个 ...

  10. web.xml中servlet mapping标签

    写了好多小项目后也没弄明白<url-pattern>的真正意义,写跳转的时候也是跳的三心二意的,今天查了一下web.xml的详细配置,看了看servlet-mapping的讲解,豁然开朗, ...

随机推荐

  1. C# 托管

    委托 委托让我们可以把函数引用保存在变量中.这就像在 C++ 中使用 typedef 保存函数指针一样. 委托使用关键字 delegate 声明.看看这个例子,你就能理解什么是委托: 例子: 代码: ...

  2. 认识XmlReader

    认识XmlReader   摘要 XmlReader类是组成.NET的关键技术之一,极大地方便了开发人员对Xml的操作.通过本文您将对XmlReader有一个很好的认识,并将其应用到实际开发中. 目录 ...

  3. 初识python轻量web框架flask

    1.使用pip安装Python包 大多数Python包都使用pip实用工具安装,使用pyvenv创建的虚拟环境会自动安装pip. 1.使用pip安装Flask(其它Python包同理) pip ins ...

  4. linux 改动rootpassword以及忘记rootpassword

    改动rootpassword: $ passwd root 或者sudo passwd root $password:  (要求输入旧的密码) $new  password:(输入两遍新密码) 忘记r ...

  5. Java 内存分配全面浅析(转)

    本文将由浅入深详细介绍Java内存分配的原理,以帮助新手更轻松的学习Java.这类文章网上有很多,但大多比较零碎.本文从认知过程角度出发,将带给读者一个系统的介绍. 进入正题前首先要知道的是Java程 ...

  6. c++对象内存的分配

    1 关于c++的对象 只要是用了class或者struct定义的,都是对象,不管有没有方法.不过,一般情况下,没有方法的对象用struct关键字来定义. 2 不用new关键字定义对象 要看这样的对象在 ...

  7. 【总结】性能调优:JVM内存调优相关文章

    [总结]性能调优:JVM内存诊断工具 [总结]性能调优:CPU消耗分析 [总结]性能调优:消耗分析 JVM性能调优

  8. LeetCode:跳跃游戏【55】

    LeetCode:跳跃游戏[55] 题目描述 给定一个非负整数数组,你最初位于数组的第一个位置.数组中的每个元素代表你在该位置可以跳跃的最大长度.判断你是否能够到达最后一个位置. 示例 1: 输入: ...

  9. 2016WWDC详解

    今年苹果WWDC 2016上把所有系统都更新了个遍,watchOS.tvOS.macOS 和 iOS 都或多或少带来了新功能. 本文的主角是更新最多的 iOS 10,第一时间在一部 iPhone 6s ...

  10. 草原psd素材

    草原PSD素材,草原,风景,蓝天白云,飞鸟,阳光,绿色,草地. http://www.huiyi8.com/caoyuan/psd/