香港先生亚军:web.xml中和四种认证类型

来源:百度文库 编辑:九乡新闻网 时间:2024/04/28 21:51:21
的子元素 是可选的,如果没有 元素,这表示将禁止所有 HTTP 方法访问相应的资源。
子元素 需要和 相配合使用,但可以被单独使用。如果没有 子元素,这表明任何身份的用户都可以访问相应的资源。也就是说,如果 中没有 子元素的话,配置实际上是不起中用的。如果加入了 子元素,但是其内容为空,这表示所有身份的用户都被禁止访问相应的资源。
web.xml:
Xml代码  
  1.     
  2.       
  3.   baseporject    
  4.       
  5.    baseproject    
  6.    *.jsp    
  7.    *.do    
  8.    GET    
  9.    PUT    
  10.    HEAD    
  11.    TRACE    
  12.    POST    
  13.    DELETE    
  14.    OPTIONS    
  15.       
  16.       
  17.        
  18.    baseproject    
  19.    All Role    
  20.       
  21.       
  22.    NONE    
  23.       
  24.     
  25.     
  26.   
  27.    
  28.      
  29.   baseporject   
  30.      
  31.    baseproject   
  32.    *.jsp   
  33.    *.do   
  34.    GET   
  35.    PUT   
  36.    HEAD   
  37.    TRACE   
  38.    POST   
  39.    DELETE   
  40.    OPTIONS   
  41.      
  42.      
  43.       
  44.    baseproject   
  45.    All Role   
  46.      
  47.      
  48.    NONE   
  49.      
  50.    
  51. Xml代码   
  52.     
  53.   FORM    
  54.       
  55.    /login.html    
  56.    /error.html    
  57.       
  58.     
  59.     
  60.   All Role    
  61.     
  62.   
  63.    
  64.   FORM   
  65.      
  66.    /login.html   
  67.    /error.html   
  68.      
  69.    
  70.    
  71.   All Role   
  72.    


   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。
4 四种认证类型:

Xml代码  
  1. BASIC:HTTP规范,Base64   
  2.    
  3.     ......   
  4.        
  5.         BASIC   
  6.        
  7.     ......   
  8.    
  9.   
  10. DIGEST:HTTP规范,数据完整性强一些,但不是SSL   
  11.    
  12.     ......   
  13.        
  14.         DIGEST   
  15.        
  16.     ......   
  17.    
  18.   
  19. CLIENT-CERT:J2EE规范,数据完整性很强,公共钥匙(PKC)   
  20.    
  21.     ......   
  22.        
  23.         CLIENT-CERT   
  24.        
  25.     ......   
  26.    

FORM:J2EE规范,数据完整性非常弱,没有加密,允许有定制的登陆界面。

    ......
   
        FORM
       
            /login.html
            /error.jsp
       

   

    ......

这里的 FORM 方式需要说明的是 登录页面的固定的元素:login.html

Html代码  
  1.    
  2.   
  3.    
  4.   
  5.    
  6.   
  7.    
  8.   
  9.    

form 的action 必须是j_security_check, method="post", 用户名 name="j_username" , 密码name="j_password"  这些都是固定的元素
分享到: