单点登录系统

本文介绍了单点登录系统的发展背景,对比了传统多点登录的繁琐,详细阐述了单点登录系统的工作原理。通过SpringSecurity、JWT和OAuth2这三种核心技术,解释了如何实现用户在多个站点间无缝切换。SpringSecurity提供安全框架,JWT用于生成安全令牌,OAuth2则支持第三方认证,共同构建了一个高效、便捷的身份验证和授权体系。
摘要由CSDN通过智能技术生成

一,背景分析。
传统的登录系统中,每个站点都实现了自己的专用登录模块,
各站点的登录状态相互不认可,各站点需要逐一手工登录。
例如:用户登录京东超市后,想进入京东家电,需要重新登录。
这样的系统,我们又称之为多点登陆系统,应用起来相对繁琐,
由此单点登陆系统诞生。
============================================================
二,单点登陆系统。
即多个站点共用一台认证授权服务器,用户在其中任何一个站点
登录后,可以免登录访问其他所有站点。

 三,单点登陆系统技术方案。

SpringSecurity---安全认证。
JWT-------用来创建令牌的规范。
Oauth2----支持三方认证协议。

==============================================================

四,Spring Security

Spring Security 是一个企业级安全框架,由spring官方推出,它实现对软件系统中的

认证,授权,加密等功能,底层构建了大量的过滤器。

==============================================================

五,JWT

JWT是一种令牌规范,通过对JSON数据采用一定的编码,加密进行令牌设计。

JWT有三部分构成,分别为Header(头部),Payload(负载),Signature(签名)。

1.Header 部分是一个 JSON 对象,描述 JWT 的元数据,

alg属性表示签名的算法(algorithm),默认是 HMAC SHA256(简写HS256);

typ属性表示这个令牌(token)的类型(type),JWT 令牌统一写为JWT。

最后,将这个 JSON 对象使用 Base64URL 算法(详见后文)转成字符串。

2.Payload 部分也是一个 JSON 对象,用来存放实际需要传递的数据。

 

 3.Signature 部分是对前两部分的签名,其目的是防止数据被篡改。

首先,需要指定一个密钥(secret)。这个密钥只有服务器才知道,不能泄露给用户。

然后,使用 Header 里面指定的签名算法(默认是 HMAC SHA256)产生签名,

算出签名以后,把 Header、Payload、Signature 三个部分拼成一个字符串,

每个部分之间用"点"(.)分隔,就可以返回给用户。

=================================================================

六,oauth2定义了一种认证授权协议,一种规范。

此规范中定义了四种类型的角色:

1)资源有者(User)
2)认证授权服务器(jt-auth)
3)资源服务器(jt-resource)
4)客户端应用(jt-ui)

同时,在这种协议中规定了认证授权时的几种模式:
1)密码模式 (基于用户名和密码进行认证)
2)授权码模式(就是我们说的三方认证:QQ,微信,微博等.)

==================================================================

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值