`
hao861002
  • 浏览: 84725 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

HttpClient认证(1)

阅读更多

J2EE 站点认证简介

出于安全性的需要和用户授权管理的考虑,常见的 J2EE 站点对特定资源都会加入认证/授权机制。例如一个公网上的论坛,一个只对特定用户开放的 RSS Atom Feed,这些资源都必须在确信访问者为被授权用户时才能向访问者开放。为了实现这样的功能,J2EE 站点通常会采用某种站点认证机制,其中常见的有 HTTP Basic 认证和 J2EE Form-Based 认证。

HTTP Basic 认证

HTTP Basic 认证是 HTTP 认证协议(rfc2617)所定义的标准认证方式。要求 HTTP Basic 认证的服务器会在客户端访问受保护资源时向客户端发出请求,要求客户端上传用户名和密码对。服务器在收到用户名/密码并验证通过后,才将保护资源的内容返回给客户端。它的工作机制如下图:

 

1. HTTP Basic 认证原理

 

由于是 HTTP 规范,因而常见的浏览器,如 Internet ExplorerMozilla Firefox,在 步骤 2 中收到服务器对用户名和密码的请求时会弹出认证对话框,供用户输入用户名/密码。


2. Firefox 在收到步骤 2 中请求时弹出的用户名/密码输入框



 

HTTP Basic 认证方式使用 base64 编码方式传送用户名和密码,而 base64 仅仅是一种公开的编码格式而非加密措施,因而如果信道本身不使用 SSL 等安全协议,用户密码较容易被截获。

J2EE Form-Based 认证

Form-Based 认证不同于 HTTP Basic 认证,它是 J2EE 对于认证方式的一种扩展。它使用自定义的 HTML 表单(通常为 login.jsp)作为输入用户名和密码的用户界面,最终将用户在表单上填入的用户名/密码提交至服务器。它的工作机制如下:

 

3. Form-Based 认证原理



 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics