作者
代码忘烦恼
责编
屠敏
出品
CSDN博客
什么是单点登陆
单点登录(英语:Singlesign-on,缩写为SSO),又译为单一签入,一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性。当拥有这项属性时,当用户登录时,就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。这项功能通常是以轻型目录访问协议(LDAP)来实现,在服务器上会将用户信息存储到LDAP数据库中。相同的,单一退出(singlesign-off)就是指,只需要单一的退出动作,就可以结束对于多个系统的访问权限。
单点登陆带来的好处
降低访问第三方网站的风险(不存储用户密码,或在外部管理)减少因不同的用户名和密码组合而带来的密码疲劳减少为相同的身份重新输入密码所花费的时间因减少与密码相关的调用IT服务台的次数而降低IT成本
单点登陆技术
现在很多语言都拥有自己的单点登陆实现方案,本次案例中我们用SpringBootOauh2来实现跨系统的单点登陆。
单点登陆流程
你的项目可能有很多个模块,如订单管理、商户管理、会员管理、财务管理,这些都是需要登陆后才能访问,当我只要登陆一次,其它的系统都能访问。
图源于网络
上图是最清晰描述单点登陆的流程,如上图就是最基本的单点登陆流程。
oauth2的四种模式:
密码模式(resourceownerpasswordcredentials)授权码模式(authorizationcode)简化模式(implicit)客户端模式(clientcredentials)我们一般都用授权码模式这个模式用的人也最多。
这几种模式如果想要了解的更清楚可以看阮一峰老师的oauth2(