`

http基本认证

    博客分类:
  • http
阅读更多

1.简介:

时候浏览器会弹出一个登录验证的对话框,如下图,这就是使用HTTP基本认证。

下面来看看一看这个认证的工作过程:
第一步:  客户端发送http request 给服务器,服务器验证该用户是否已经登录验证过了,如果没有的话,
服务器会返回一个401 Unauthozied给客户端,并且在Response 的 header "WWW-Authenticate" 中添加信息。

 

2.实现

需要下载浏览器插件实现发送认证头,推荐POSTMAN Launcher

 

3.java code:

 

public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
			throws Exception {
		
		String authorization = request.getHeader("Authorization");
		logger.info("Authorization is [{}]", authorization);

		if (authorization!=null&&authorization.split(" ").length == 2) {
			String userAndPass = new String(new BASE64Decoder().decodeBuffer(authorization.split(" ")[1]));
			String user = userAndPass.split(":").length == 2 ? userAndPass.split(":")[0] : null;
			String pass = userAndPass.split(":").length == 2 ? userAndPass.split(":")[1] : null;
			logger.info("Username is [{}],Password is [{}]", user, pass);
		}

		return true;

	}

 

二. 补充:

basic authentication 格式:

Authorization: Basic YWRtaW46YWRtaW4= //笔者注释,Authorization: "Basic 用户名和密码的base64加密字符串"

客户端发送http请求
服务器发现配置了http auth,于是检查request里面有没有"Authorization"的http header
如果有,则判断Authorization里面的内容是否在用户列表里面,Authorization header的典型数据为"Authorization: Basic jdhaHY0=",其中Basic表示基础认证, jdhaHY0=是base64编码的"user:passwd"字符串。如果没有,或者用户密码不对,则返回http code 401页面给客户端

 

参考:

1.wiki:https://en.wikipedia.org/wiki/Basic_access_authentication

2.http://smalltalllong.iteye.com/blog/912046

3.http://blog.csdn.net/kkdelta/article/details/28419625

4.补充:https://blog.csdn.net/u011430225/article/details/51860091

分享到:
评论

相关推荐

    在ASP.NET中调用基于HTTP基本认证的WebService接口

    在 ASP.NET 中调用基于 HTTP 基本认证的WebService 接口 在 ASP.NET 中调用基于 HTTP 基本认证的WebService 接口是指在 ASP.NET 应用程序中调用基于 HTTP 基本认证的 Web 服务接口的方法。HTTP 基本认证是一种常用...

    java实现HTTP 基本认证 (Basic Authentication)

    java实现HTTP 基本认证 (Basic Authentication) 大家在登录网站的时候,大部分时候是通过一个表单提交登录信息。 但是有时候浏览器会弹出一个登录验证的对话框,如下图,这就是使用 HTTP 基本认证。 下面来看看一...

    Vert.x,认证与授权 - HTTP基本认证

    基于Vert.x的HTTP基本认证案例。

    golang的HTTP基本认证机制实例详解

    在Golang中,HTTP基本认证是一种简单而广泛使用的身份验证机制,它允许服务器验证客户端(通常是Web浏览器)发送的请求。基本认证的工作原理是,当客户端首次尝试访问受保护的资源时,服务器会返回一个401 ...

    http basic authentication通过post方式访问api示例分享 basic认证示例

    HTTP基本认证(Basic Authentication)是HTTP协议中一种简单的身份验证机制。它要求用户在访问受保护资源时提供用户名和密码。这种认证方式是基于HTTP头部的,通过将用户名和密码编码为Base64字符串并将其放入`...

    http鉴权认证

    - **HTTP基本认证**:是最简单的鉴权方式,用户名和密码以Base64编码的形式在请求头中发送。由于明文传输,安全性较低。 - **HTTP摘要认证**:比基本认证更安全,它使用哈希函数对用户名、密码和随机字符串进行...

    RFC2617标准的Http认证(C和CPP两个工程)

    标题中的"RFC2617标准的Http认证"是指互联网工程任务组(IETF)发布的Request for Comments (RFC) 2617文档,该文档详细定义了HTTP基本认证和更安全的HTTP摘要认证(HTTP Digest Authentication)机制。HTTP摘要认证是...

    第三节 暴力破解 - HTTP Basic认证-01

    第三节 暴力破解 - HTTP Basic认证-01

    Restlet开发的Basic认证

    在这个"Restlet开发的Basic认证"示例中,我们将探讨如何在Restlet应用中实现HTTP基本认证,这是一种广泛使用的身份验证机制。 HTTP基本认证是基于HTTP协议的,它要求客户端(通常是浏览器或API调用者)在访问受保护...

    2.CXF安全访问之Http Basic Auth(一)

    本文将深入探讨CXF安全访问的一个重要方面:HTTP基本认证(Http Basic Auth)。这是一种简单但有效的身份验证机制,适用于对Web服务进行安全控制。 HTTP基本认证是基于HTTP协议的,它在请求头中包含一个Base64编码...

    带用户认证功能的boa

    用户认证通常是通过HTTP基本认证或 Digest 认证实现的。在 boa 中,配置文件 boa.conf 可以设定这些认证方式。基本认证涉及用户名和密码的明文传输(虽然通常会通过HTTPS加密),而Digest认证则提供了一种更安全的...

    在Apache中实现用户认证

    这通常涉及到创建一个口令文件,然后配置Apache的配置文件以启用基于HTTP基本认证的机制。以下是详细的步骤和相关知识点: **1. 创建口令文件** 使用`htpasswd`命令可以创建和管理Apache的口令文件。这个命令位于...

    axis2客户端调用服务端,带用户身份认证

    在Web服务中,通常采用HTTP基本认证、Digest认证或WS-Security(Web Services Security)标准进行用户身份验证。在Axis2中,我们可以利用这些机制来保护服务免受未经授权的访问。 1. **HTTP基本认证**:这是一种...

    python中urllib2模块 HTTPBasicAuthHandler认证 HTTPError bug

    然而,在涉及到需要身份验证的场景时,如HTTP基本认证(HTTP Basic Authentication),可能会遇到一些问题。这篇博客文章“python中urllib2模块 HTTPBasicAuthHandler认证 HTTPError bug”探讨了在使用`urllib2....

    lighttpd的权限认证模块 mod_auth

    它提供了一系列模块来扩展其功能,其中`mod_auth`就是用于实现HTTP基本认证和摘要认证的重要模块。这个模块允许你对特定的URL或者目录设置访问权限,只有提供了正确凭证的用户才能访问。 **1. mod_auth的基本概念**...

    Java认证和授权服务笔记代码

    - 在Web应用中,JAAS可以集成到Servlet容器如Tomcat,实现HTTP基本认证或形式认证。 - 在J2EE应用中,JAAS可与EJB、JPA等结合,确保数据访问的安全性。 - 安全框架如Spring Security也支持JAAS,提供更灵活的认证...

    JAAS认证(mac版tomcat)

    在Tomcat中,JAAS被用来处理HTTP基本认证、FORM认证等。 **配置Tomcat for JAAS** 在Mac版Tomcat中配置JAAS,你需要做以下几个步骤: 1. **修改Tomcat的配置文件**:首先,打开Tomcat的`conf/server.xml`文件。在...

    rpc 微服务架构下的安全认证与鉴权1

    1. HTTP基本认证 基于HTTP 1.0的认证机制,通过BASE64加密的用户名和密码进行验证。 2. 基于Session的认证 登录成功后,用户信息存储在Session中,Session ID返回给客户端。在分布式环境下,可以通过Session复制或...

    java 文件断点续下载源码及实例 支持Etag HTTP认证用户名密码

    通过以上讲解,我们可以看出这个Java源码实例结合了断点续下载、Etag验证和HTTP基本认证,提供了一个完整的下载方案,对于开发需要处理大文件下载和安全验证的场景具有很高的参考价值。通过深入理解并应用这些技术,...

    带web认证的boa web server

    1. `auth.c`: 这个源代码文件通常包含了 boa 实现HTTP基本认证的逻辑。基本认证是一种常见的Web身份验证方法,它基于HTTP头中的Authorization字段。当用户尝试访问受保护的资源时,服务器会返回一个401未经授权的...

Global site tag (gtag.js) - Google Analytics