和讲Basic篇的内容差不多,不同的是过程采用的是DIGEST认证:
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>DIGEST</auth-method> <!-- DIGEST here -->
<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返回,并含有下面的头
3 客户端认证,含有下面的头
response="..."就是客户端用来签名的部分。
缺点:
监听到消息的攻击者可以使用这个消息提交请求。
httpclient中的实现
查看org.apache.commons.httpclient.auth包的DigestScheme类的authenticate方法。
RFC2617描述了计算方法:
A valid response contains a checksum (by default, the MD5 checksum) of the username, the password, the given nonce value, the HTTP method, and the requested URI.
- 大小: 13.9 KB
- 大小: 22.4 KB
- 大小: 40.2 KB
分享到:
相关推荐
okhttp-digest okhttp的摘要身份验证器。 大多数代码是从Apache Http Client移植的。重要的该工件已从jcenter转移到了Maven Central! 坐标已从com.burgstaller:okhttp-digest:<version>到io.github.rburgst:okhttp-...
一个模拟http 401 Digest认证的登录海康NVR抓取摄像头列表的小demo
$ git clone git@github.com:passport/express-3.x-http-digest-example.git $ cd express-3.x-http-digest-example $ npm install 启动服务器。 $ node server.js 使用curl发送经过身份验证的请求。 $ curl -v ...
digest 用户认证 response生成算法.适用于大部分网络安全认证。
spring-security-digest 示例 该项目演示了使用 RESTful 服务中的 Java 配置使用 Spring-Security 进行摘要式身份验证的用法 请阅读我在帖子
“摘要”式认证( Digest authentication)是一个简单的认证机制,最初是为HTTP协议开发的,因而也常叫做HTTP摘要,在RFC2671中描述。其身份验证机制很简单,它采用杂凑式(hash)加密方法,以避免用明文传输用户的...
大名鼎鼎的Nginx服务器,包括了Nginx、Digest第三方认证包和pcre扩展包
SIP摘要认证RFC 3261基于HTTP摘要认证RFC 2617(又名WWW摘要认证)。 摘要式身份验证不是在客户端和服务器之间交换明文密码,而是使用哈希功能来计算响应。 当SIP客户端发送需要进行身份验证的请求(例如INVITE,...
Digest认证 是一种更加安全的认证形式, 在传输密码前会对其进行 MD5 哈希处理, 同时会配以密码随机数。 密码随机数是个随机数或伪随机数, 用于消息进行签名, 不过每个值只能使用一次。 由于每个随机数只会使用一...
一个旨在以最少的代码在PHP环境中实现HTTP Basic和Digest身份验证的库。
gsoap编译,onvif示例,包含发现设备,获取设备能力,ptz控制,wsse鉴权和digest鉴权。
NULL 博文链接:https://fengjianrong.iteye.com/blog/2379764
基本认证 首席维护者: 基本身份验证需要验证用户名和密码的组合。 'basic'方案具有以下选项: validateFunc (必需)具有签名function(request, username, password, callback)的用户查找和密码验证功能,其中...
Go中的HTTP身份验证实现这是Go语言中HTTP Basic和HTTP ...接口)用法示例这是基本身份验证的完整工作示例: package mainimport ( "fmt" "net/http" auth "github.com/abbot/go-http-auth")func Secret(user,
针对PB 开发者,并需要访问Digest Authentication认证。 该案例是通过PB 2019 R3 Build 2170版本来开发的。需要使用到PB 2017 版本后的新功能httpclient对象及加密对象。
内涵c++ java Python等例程
老师自己总结的,从老师哪里要来,基本涵盖了全部经典的安全认证协议如RPC X509 等等等等 讲解非常清楚 并将每个协议的缺陷以及改进措施都讲到了。推荐安全专业的同学可以用来做为快速手册用 英文的 但是用词简单
linux下apache页面认证+ssl
cpp-httplib:一个header-only的跨平台HTTP/HTTPS服务器和客户端C 库
Javalin,Ktor,Micronaut,Jfinal,Solon 等集成样例),支持动态修改权限配置(动态修改配置每个 API 谁有权访问),支持 Websocket ,主流 HTTP 容器 Servlet 和 JAX-RS,支持多种认证策略, JWT, Basic Auth, Digest Auth...