• web.xml中<security-constraint>安全认证标签说明


     

    1.security-constraint元素

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

    Xml代码  收藏代码
    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>

    Xml代码  收藏代码
    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. <!--四种验证方式,附在最后有说明-->      
    28.   <auth-method>FORM</auth-method>      
    29.   <form-login-config>      
    30.    <form-login-page>/login.html</form-login-page>      
    31.    <form-error-page>/error.html</form-error-page>      
    32.   </form-login-config>      
    33. </login-config>      
    34. <security-role>      
    35.   <role-name>All Role</role-name>      
    36. </security-role>      

     自己项目采用:

    Xml代码  收藏代码
    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

  • 相关阅读:
    [NOI2004] 郁闷的出纳员
    [洛谷P4556] 雨天的尾巴
    【转】进程、线程、 GIL全局解释器锁知识点整理
    Python3中的SocketServer
    socket 上传文件代码
    python socket 连续send,出现粘包问题
    【转】动态导入模块的两种方法
    【转】面向对象高级语法部分
    python的垃圾回收机制和析构函数__del__
    django 项目使用setting文件里定义的变量方法
  • 原文地址:https://www.cnblogs.com/xiohao/p/10935004.html
Copyright © 2020-2023  润新知