spring security4学习(二)spring-boot结合spring security实现http basic Authentication

本文介绍了HTTP Basic Authentication的基本原理,并展示了在Spring项目中如何利用Spring Security配置和实现HTTP Basic认证。通过实现UserDetailsService和AuthenticationProvider接口,可以自定义用户信息获取和验证过程。在Spring Boot中,可以方便地设置URL拦截规则,以实现特定权限的访问控制。当用户无权访问时,系统会返回403错误页面。
摘要由CSDN通过智能技术生成

HTTP Basic Authentication基本认证机制

HTTP为认证提供了一种原生工具。

尽管我们可以在HTTP的认证形式和cookie的基础上运行自己的认证工具,但在很多情况下,HTTP的原生认证功能就可以很好的满足要求

HTTP的质询/响应认证框架

简化的质询/响应认证框架:

分为四步-请求、质询、认证、成功  

认证协议与首部

认证协议是在HTTP认证首部中指定的。

请求:第一条请求没有认证信息

GET /family/jeff.jpg HTTP/1.1

质询:(服务器端的质询)首部是WWW-Authenticate服务器用401状态拒绝了请求,说明需要用户提供用户名和密码。认证算法是在WWW-Authenticate首部中指定的。

HTTP/1.1 401 Authorization Required

WWW-Authentication: Basic realm=”Family”

授权:首部是Authorization 客户端重新发送请求,但这一次会附加一个Authorization首部,用来说明认证算法,用户名和密码。

GET /family/jeff.jpg HTTP/1.1

Authorization: Basic YnssdjJlsdsdsdfsfsdfI

成功:首部是Authentication-Info 如果授权证书是正确的,服务器就会将200 OK文档返回。有些授权算法会在可选的Authentication-Info首部返回一些与授权会话相关的附加信息。

HTTP/1.0 200 OK

Content-Type:image/jpeg

<img data include>

Authorization - 授权

Authentication - 认证

以上摘自网友,下面介绍在工作中遇到的一个需求,项目中需要提供支持Basic Auth的实现。

在Spring中,配置和使用Spring Security,自定义验证过程中的主要实现接口(用户信息UserDetails,用户信息获取服务UserDetailsService,验证工具AuthenticationProvider)即可。其余的流程将由Spring自动接管,非常方便。

UserDetail

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值