单点登录
- 简介
单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,
也就是用户的一次登录能得到其他所有系统的信任。单点登录在大型网站里使用得非常频繁
-
导入表
-
查看表oauth_client_details的数据
加密后的密码
拥有的权限
支持的认证模式
重定向地址
设置为true,表示自动授权,设置为false时,表示需要手动点击授权
-
在有认证服务器的基础上,创建2个子模块作为客户端1和客户端2
-
测试:启动认证服务器、客户端1、客户端2
-
访问客户端1的首页
-
访问/member接口时,需要认证,这时跳转到认证页面;输入用户名和密码认证
-
认证成功后,可以访问/member接口,同时也可以访问客户端2的/member接口
-
报错
# 未连接到redis,将认证服务器中的redis依赖注释即可
Unable to connect to Redis; nested exception is io.lettuce.core.RedisConnectionException: Unable to connect to localhost:6379
# 未找到指定的表,将rbac相关的表添加到数据库
bad SQL grammar []; nested exception is java.sql.SQLSyntaxErrorException: Table 'study-security.sys_user' doesn't exist
-
退出登录,在客户端1和客户端2的配置类中添加如下
-
测试,当在客户端1中退出后,访问客户端2,这时需要登录