当前位置: 首页 > article >正文

【面试集锦】如何设计SSO方案?和OAuth有什么区别?

如何设计SSO方案?和OAuth有什么区别?

--楼兰

带你聊最纯粹的Java

​ 如果面试问你,你会做一个权限系统吗?那你肯定会说做过。不就是各种登录、验证吗。我做的第一个CRUD应用就是注册、登录。简单!但是,如果问你在工作中真的做过权限系统吗?其实很多人都只能默默摇摇头。因为在很多真实项目中,权限系统可能不是最复杂的,但一定是牵连最广的。因此往往大型项目中真正去做权限系统的,都只是非常核心的一小部分人。而如果你的应用越来越复杂,作为安全门户的权限系统也会随着变得更加复杂。各种方案层出不穷。比如, 把SSO和OAuth这两个聊的最多的名词放到一起,你真的分清楚吗?


一、SSO与OAuth


​ 首先你要清楚, SSO和OAuth都是分布式场景下比较常见的权限认证方案。然后,这两个方案,在项目落地时,很多项目都会用SpringSecurity这一类的权限框架实现。所以,这两东西他们其实很像,但本质上,他们完全是两个不同的方案,解决不同的问题。

​ SSO是Single Sign-On,单点登录。主打的是统一。允许用户通过一次登录访问多个相互信任的系统,无需重复输入凭证。比如,你登录了淘宝后,访问天猫,自然也是登录的状态。而如果在淘宝退出登录后,访问天猫也同时退出登录了。

​ OAuth是Open Authorization,开放授权。主打的是开放。允许用户注册的一个账号,可以用来登录多个不同的平台。他们有很多本质的区别。比如,你可以用一个微信账号


http://www.kler.cn/a/543459.html

相关文章:

  • 【工业场景】用YOLOv8实现火灾识别
  • 自然语言处理NLP入门 -- 第一节基础概念
  • 【分布式理论9】分布式协同:分布式系统进程互斥与互斥算法
  • WPS中如何批量上下居中对齐word表格中的所有文字
  • 具身智能训练新思路!将生成视频用于训练机器人
  • Node.js怎么调用到打包的python文件呢
  • JavaWeb学习-Mybatis(增删改查)
  • Windows 软件奔溃-dmp文件分析
  • 微信小程序网络请求封装
  • 【JavaEE进阶】Spring IoC
  • 【漫话机器学习系列】088.常见的输出层激活函数(Common Output Layer Activation Functions)
  • 堆、方法区、虚拟机栈、本地方法栈 和 程序计数器
  • HCIA项目实践--RIP相关原理知识面试问题总结回答
  • 从 0 开始本地部署 DeepSeek:详细步骤 + 避坑指南 + 构建可视化(安装在D盘)
  • Oracle数据库ADG日志丢失处理方法
  • js实现深拷贝
  • HDL Compiler:工具简介
  • C++病毒(^_^|)(2)
  • 多机器人系统的大语言模型:综述
  • es-head 正则查询和标准正则查询的差异
  • flutter 中 ReceivePort 的 first 和 listen
  • Nginx 中的HTTP2
  • 网络安全ids是什么意思
  • 【C++】26.unordered_map和unordered_set的使用
  • 代码随想录算法【Day43】
  • 面试真题 | B站C++渲染引擎