文章主要讲如何在tomcat中配置Basic认证以及工作流程:
Tomcat配置:
1 在tomcat的webapps下新建一个目录authen,再建立子目录subdir,下面放一个index.jsp
2 在authen目录下建立WEB-INF目录,下放web.xml文件,内容如下
<security-constraint>
<web-resource-collection>
<web-resource-name>
My App
</web-resource-name>
<url-pattern>/subdir/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>test</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>My Realm</realm-name>
</login-config>
3 在tomcat的tomcat-users.xml文件中添加一个用户名密码为test,test的用户,角色test。
客户端访问:
访问http://localhost:port/authen/subdir/index.jsp
会弹出对话框提示认证,输入test test可以登录。
工作流程(通过firebug可以查看请求头)
1 客户端先发请求(不知道要认证,头里不包含任何特殊信息)
2 服务器发一个401返回,并含有下面的头
WWW-Authenticate Basic realm="My Realm"
3 客户端认证,含有下面的头
Authorization Basic dGVzdDp0ZXN0
“dGVzdDp0ZXN0”是"test:test"的Base64编码。 (可以通过php函数base64_encode()验证)
缺点:
密码明文传输,非常不安全。
httpclient中的实现
查看org.apache.commons.httpclient.auth包的BasicScheme类
// Copy from the httpclient source code
// Omit some codes
public static String authenticate(UsernamePasswordCredentials credentials, String charset) {
...
StringBuffer buffer = new StringBuffer();
buffer.append(credentials.getUserName());
buffer.append(":");
buffer.append(credentials.getPassword());
return "Basic " + EncodingUtil.getAsciiString(Base64.encodeBase64(EncodingUtil.getBytes(buffer.toString(), charset)));
}
- 大小: 12.2 KB
- 大小: 46 KB
- 大小: 46.7 KB
分享到:
相关推荐
es安全认证工具 es安全认证工具
前端开源库-express-basic-authExpress基本认证、即插即用Express基本认证中间件
Nginx基本认证Dockerfile 该存储库包含 -basic-auth的Dockerfile ,用于将的 发布到公共。 基础Docker映像 安装 安装 。 从公共下载 : docker pull igortimoshenko/docker-nginx-basic-auth (或者,您可以从...
第三节 暴力破解 - HTTP Basic认证-01
Portal-Basic Java Web应用开发框架(简称 Portal-Basic)是一套功能完备的高性能Full-Stack Web应用开发框架,内置稳定高效的MVC基础架构和DAO框架(已内置Hibernate、MyBatis和JDBC支持),集成 Action拦截、Form ...
http-server-basicauth-ssl:命令行http服务器 http-server-basicauth-ssl是基于以下内容的简单,零配置命令行安全化Http服务器: HTTP服务器 基本认证 SSL协议 主要目的是拥有与http-server相同的有用工具,但具有...
然后,在Http请求中使用authorization作为一个HTTP请求头Header name,“Basic YWtaW46YWRtaW4=“作为Header的值,发送给服务端。(注意这里使用Basic+空格+加密串) 服务器在收到这样的请求时,到达...
在HTTP中,基本认证是一种用来允许Web浏览器或其他客户端程序在请求时提供以用户名和口令形式的凭证,这篇文章主要介绍了http basic authentication通过post方式访问api示例,大家参考使用吧
Fastify 的一个简单的基本身份验证插件。 安装 npm i fastify-basic-auth 用法 这个插件使用basicAuth函数装饰 fastify 实例,你可以在路由处理程序之前的任何钩子中使用它,或者使用 。 const fastify = ...
第四节 暴力破解 - HTTP Basic认证字典生成(Python)-01
通过base64加密方式将用户名和密码进行封装,生成basic auth的认证信息,再将该信息塞进请求头里,最后通过认证进行get请求。
basic认证.doc 是关于在制造业特别是做外贸的一个欧盟的协议
使用Spring Security实现HTTP Basic认证 概要 本文介绍通过一个示例来讲解如何启用HTTP Basic认证来保护Web应用。 文章地址:
04 华为路由交换精英培训之BGP basic final.pdf 05 华为路由交换精英培训之BGP Advance及Internet设计理念v0.3.pdf 06 华为路由交换精英培训之路由引入和控制.pdf 07 华为路由交换精英培训之VLAN.pdf 08 华为...
弹簧启动基本认证 使用基本身份验证来保护Spring Boot REST API
java实现HTTP 基本认证 (Basic Authentication) 大家在登录网站的时候,大部分时候是通过一个表单提交登录信息。 但是有时候浏览器会弹出一个登录验证的对话框,如下图,这就是使用 HTTP 基本认证。 下面来看看一...
这是基于acegi框架实现的basic认证的具体demo,详细的教程可以参考博客地址:http://blog.csdn.net/llhhyy1989/article/details/19708655
通过此软件包,可以轻松地将Basic HTTP Auth添加到您的Next.js应用程序中。 请注意,它需要你选择静态生成出来要保护,因为它需要内部被称为事实上的任何路由getServerSideProps 。 安装 yarn add nextjs-basic-auth...
Basic认证是一种较为简单的HTTP认证方式,客户端通过明文(Base64编码格式)传输用户名和密码到服务端进行认证,通常需要配合HTTPS来保证信息传输的安全。 1、概述 Basic认证 ①当打开需要认证的页面时,会弹出一个...
一个简单的Restlet开发框架的Basic认证的例子