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. StringBuilder的append、StringBuffer的append和String str = "a"+"b"的区别?

    大家都知道String+String会开销额外的系统资源,粗略的原因是String是不可变类,每一步操作都会返回新的String变量,占用空间及时间. 其实我的理解不是这样的,我们来看看String+ ...

  2. 嵌入式c语言笔试

    1 读程序段,回答问题int main(int argc,char *argv[]){int c=9,d=0;c=c++%5;d=c;printf("d=%d\n",d);retu ...

  3. leetCode 88.Merge Sorted Array (合并排序数组) 解题思路和方法

    Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. Note: Y ...

  4. SCRM从入门到精通01

    [SCRM从入门到精通01]如何基于微信开放接口开发企业的微信CRM? 业内一直都在传说微信是天生的CRM,可是没有人看到过微信CRM的真容.随着微信最新公众平台的改版和开放接口的微信认证开放,微信C ...

  5. struts2的 defalut-action-ref 的使用

    这个配置的用法有值得注意的地方,所以才记录下来: 一般default-action-refer配置的action是在浏览器中输入的网址只输入到项目时或输入错误的action时 所进入的action,一 ...

  6. kafka source type

    https://flume.apache.org/FlumeUserGuide.html # example.conf: A single-node Flume configuration # Nam ...

  7. 【题解】[CF718C Sasha and Array]

    [题解]CF718C Sasha and Array 对于我这种喜欢写结构体封装起来的选手这道题真是太对胃了\(hhh\) 一句话题解:直接开一颗线段树的矩阵然后暴力维护还要卡卡常数 我们来把\(2 ...

  8. css 改变图片灰度颜色

    我一直喜欢灰度图像因为我认为他们看起来更有艺术感.很多图片编辑如Photoshop很容易把你的彩色图像变成灰度.甚至有选择调整颜色深度和色调.不幸的是,这样的效果想做在网络上并不容易,因为浏览器有差异 ...

  9. Android 修改Menu字体颜色和背景

    我们知道,在Android中修改TextView的字体颜色,一般是通过setTextColor()方法.虽说Android的Menu菜单项的每一项都是由TextView组成,但是Android的sdk ...

  10. 更新TP-LINK路由器的外网IP到花生壳动态IP解析

    ------------------------------------------------------------------------------- 以下内容可能还是存在问题,等之后有时间再 ...