SSO指的是单点登录(Single Sign On),当用户在身份认证服务器上登录了一次以后,即可获得访问单点登录系统中其他联邦系统和应用软件的权限。
同时这种实现是不需要管理员对用户的登录状态或其他信息进行修改的,这意味着在多个应用系统中,用户只需一次登录就可以访问所有相互信任的应用系统。
单点登录是多个相关但独立的软件系统的访问控制的属性。使用此属性,用户使用单个ID和密码登录,以便在不使用不同用户名或密码的情况下访问已连接的系统,或者在某些配置中在每个系统上无缝登录。
单点登录通常使用轻量级目录访问协议(LDAP)和(目录)服务器上存储的LDAP数据库来完成,可以使用cookie在IP网络上实现简单版本的单点登录。
图为一种SSO系统:
扩展资料
实现机制
当用户第一次访问应用系统1的时候,因为还没有登录,会被引导到认证系统中进行登录;根据用户提供的登录信息,认证系统进行身份校验,如果通过校验,应该返回给用户一个认证的凭据--ticket;
用户再访问别的应用的时候就会将这个ticket带上,作为自己认证的凭据,应用系统接受到请求之后会把ticket送到认证系统进行校验,检查ticket的合法性。如果通过校验,用户就可以在不用再次登录的情况下访问应用系统2和应用系统3了。
SSO的优势
1、降低访问第三方站点的风险(未在外部存储或管理的用户密码)。
2、从不同的用户名和密码组合减少密码疲劳。
3、减少重新输入相同身份的密码所花费的时间。
4、由于关于密码的IT服务台呼叫数量减少,降低了IT成本。
5、SSO共享所有其他应用程序和系统用于身份验证的集中身份验证服务器,并将其与技术相结合,以确保用户不必多次主动输入其凭据。
参考资料来源:百度百科-SSO (Single Sign On)
参考资料来源:百度百科-单一登入
1.2. 认证服务器依赖
1.3. 配置文件 application.yml
1.4. 认证服务器配置(核心类AuthorizationServerConfigurerAdapter)
认证服务器配置类必须继承AuthorizationServerConfigurerAdapter类
1.4.1. 内存存储token方案
1.4.2. 配置Spring Security的安全认证
1.4.3. 自定义ClientDetailsService实现类
1.4.4. 相关实体类
1.5. gateway 网关
1.5.1 pom依赖
1.5.2. application.yml配置文件
1.5.3. security安全配置
1.5.4. gateway全局过滤器
1.5.5. 其他类
1.6. 资源服务器
1.6.1. 依赖配置
1.6.2. 资源服务器配置
继承ResourceServerConfigurerAdapter类
安全配置继承WebSecurityConfigurerAdapter
1.6.3 token过滤器
获取从网关处转发的token,填充到认证的安全上下文中,实现身份权限识别
2.2. 安全配置
2.3. 其他配置
2.4. 身份信息过滤
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)