多方案统一认证体系对比

在多系统、多子域、跨平台应用中,认证与登录状态同步是核心问题。不同架构阶段可采用不同方案,从传统 Session 模型到标准化 OAuth2 / OIDC SSO。域下的登录态共享可以看看之前文章提到了域登录态分享类 SSO。

现在简单介绍下四种常见方案:

  1. 集中 Session 模型(同主域多子域场景)
  2. Session + Token 双层模型(兼顾 Web 与 API)
  3. 标准 SSO(单点登录)模型(跳转式统一认证)
  4. Token + Token 模型(OAuth2 / OIDC 标准实现)

集中 Session 模型

适用场景

  • 同一主域下的多个子域系统(如 /* by yours.tools - online tools website : yours.tools/zh/calcdata.html */ main.example.com/* by yours.tools - online tools website : yours.tools/zh/calcdata.html */ learn.example.com)。
  • 不需要第三方授权或移动端接入。

核心机制

  • 后端统一维护 Session 表,存储 sid → 用户映射。
  • 登录后通过 Set-Cookie 写入 sid.example.com,所有子域共享。

流程示意

[main.example.com] 登录成功
   ↓
Set-Cookie: sid=abc123; Domain=.example.com; HttpOnly; Secure
   ↓
[learn.example.com] 自动携带同 Cookie
   ↓
Session 服务验证 sid 是否有效

优点

  • 实现简单,兼容旧系统。
  • 后端集中控制登录、登出状态。

缺点

  • 有状态,需集中存储。
  • 仅限同主域子域共享,不支持跨主域或移动端。

Session + Token 双层模型

核心思想

结合 Session 管理 Web 登录状态 + Token 管理 API 调用。

凭证存放位置用途
sidCookie(HttpOnly)管理浏览器登录会话
Access Token (JWT)Header (Authorization)访问后端 API

登录流程

  1. 用户登录,认证中心生成 sid + token;
  2. sid 写入 .example.com 域 Cookie;
  3. 返回 access_token 用于前端调用 API;
  4. 其他子域共享登录状态,或刷新 token。

续期机制

  • sid 过期前可用于刷新 token;
  • token 过期后通过 sid 自动续签。

优点

  • Web 自动登录 + API 鉴权并存。
  • 内部系统平滑过渡至无状态认证。

缺点

  • 仍依赖 Session 存储中心。
  • 无标准协议定义,不适合外部接入。

标准 SSO(单点登录)模型

核心理念

  • 所有系统共用统一 认证中心(Auth Server)
  • 用户只需登录一次,其他系统通过跳转 + Token 验证自动登录。

流程示例

[appA.example.com] → Redirect → [auth.example.com/login]
                                        ↓
                          用户登录 → 颁发 Token
                                        ↓
[auth.example.com] → Redirect → [appB.example.com/callback?token=xxx]

特点

  • 各系统独立域名可共享登录状态;
  • 登录态由认证中心统一管理;
  • 可基于 Cookie + Token 混合方式维持。

优点

  • 实现真正的“单点登录 / 登出”;
  • 登录体验一致;
  • 可跨主域、多平台。

缺点

  • 实现复杂(需独立认证中心)。
  • 对前端跳转依赖较强。

Token + Token 模型(OAuth2 / OIDC 标准 SSO)

核心机制

OAuth2 / OIDC 标准双 Token 模式:

  • Access Token:短期访问令牌,用于鉴权。
  • Refresh Token:长期刷新令牌,用于续签。
Token 类型有效期存储方式说明
Access Token5–30 分钟前端内存 / LocalStorage请求 API 用
Refresh Token7–30 天HttpOnly Cookie / 安全存储刷新 Access Token

登录与刷新流程

1. 用户登录 → 返回 access_token + refresh_token
2. access_token 调用 API
3. 过期后使用 refresh_token 刷新
4. 登出时失效 refresh_token

优点

  • 完全无状态,服务端仅验证签名。
  • 适合移动端、Web、第三方系统。
  • 标准协议(OAuth2 / OIDC),支持扩展生态。

缺点

  • 需建立完整的认证授权体系。
  • Token 泄露风险需严格控制(短期 + 黑名单)。

安全机制与策略对比

安全策略集中 SessionSession+Token标准 SSOToken+Token
HTTPS 强制
HttpOnly Cookie✅(仅 Refresh)
Token 过期机制自定义✅ 标准化
跨域支持⚠️ 仅同主域同主域 + 内部跨域✅ 完全支持
移动端兼容有限✅ 完美支持
黑名单吊销✅(sid)自定义✅ Refresh 黑名单

四种方案总体对比

对比项集中 SessionSession+Token标准 SSOToken+Token(OAuth2/OIDC)
状态类型有状态半无状态半无状态无状态
实现复杂度⭐⭐⭐⭐⭐⭐⭐⭐⭐
安全性⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
跨域支持⚠️ 限制✅ 同主域✅ 多主域✅ 完全支持
扩展性内部系统Web + API✅ 外部接入✅ 标准生态
标准协议简化版✅ OAuth2 / OIDC
推荐场景同主域多子系统内部 SPA + API多系统统一登录跨域 / 移动端 / 第三方平台

结论与演进建议

当前阶段推荐方案演进方向
内部多子域系统集中 Session→ Session+Token
前后端分离系统Session+Token→ 标准 SSO
跨域 / 多系统接入标准 SSO→ Token+Token 模式
对外平台 / 移动端Token+Token✅ 最终形态

总结

  • 集中 Session:适合简单、同主域系统。
  • Session + Token:过渡方案,兼容 API。
  • 标准 SSO:多域单点登录实现。
  • Token + Token(OAuth2/OIDC):完全无状态的现代化统一认证,是最终推荐架构。
【最优潮流】直流最优潮流(OPF)课设(Matlab代码实现)内容概要:本文档主要围绕“直流最优潮流(OPF)课设”的Matlab代码实现展开,属于电力系统优化领域的教学与科研实践内容。文档介绍了通过Matlab进行电力系统最优潮流计算的基本原理与编程实现方法,重点聚焦于直流最优潮流模型的构建与求解过程,适用于课程设计或科研入门实践。文中提及使用YALMIP等优化工具包进行建模,并提供了相关资源下载链接,便于读者复现与学习。此外,文档还列举了大量与电力系统、智能优化算法、机器学习、路径规划等相关的Matlab仿真案例,体现出其服务于科研仿真辅导的综合性平台性质。; 适合人群:电气工程、自动化、电力系统及相关专业的本科生、研究生,以及从事电力系统优化、智能算法应用研究的科研人员。; 使用场景及目标:①掌握直流最优潮流的基本原理与Matlab实现方法;②完成课程设计或科研项目中的电力系统优化任务;③借助提供的丰富案例资源,拓展在智能优化、状态估计、微电网调度等方向的研究思路与技术手段。; 阅读建议:建议读者结合文档中提供的网盘资源,下载完整代码与工具包,边学习理论边动手实践。重点关注YALMIP工具的使用方法,并通过复现文中提到的个案例,加深对电力系统优化问题建模与求解的理解。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值