67°

单点登录SSO选型比较

市面上一些主流的技术搭配

spring-security + oauth2

spring-security + cas 功能较弱,对前后端分离的项目支持不是很好

shiro + cas

比较

features spring-security + oauth2 shiro + cas jwt
依赖
  • jdk
  • jwt
  • redis
  • redis
  • jdk
  • jwt
自定义权限 支持,用户登录后将用户的权限列表写入认证服务器 支持 , 用户登录后将用户的权限列表写入客户端 支持
认证服务集群   CAS支持 支持
共享session 支持 支持 支持
前后端分离 支持,参数始终携带access_token 支持不够友好,需要改造CAS服务端 支持
缺点
  1. 功能较重,学习成本较高,无法短时间内了解的比较深
  2. 文档比较复杂
  1. 需要集成shiro 和 cas , 项目框架较重,
  2. cas官方提供的示例是仅支持javaWeb, 对前后端分离的项目支持不够友好,需要对CAS服务端进行改造 , 复杂性较高。

需要自己基于JWT认证协议编写SSO服务,开发周期较长

自己编写的话,需要

文档 文档完善 文档完善
优点
  • 功能完善,针对权限控制这一块提供了比较完善的解决方案
  • 集成该框架较简单,开发周期较短
  • spring家族产品,和spring-cloud系列的技术集成较简单,更加成熟
  • 可以搭建稳定的认证服务器。
  • 文档清晰,较简单
  • 功能完善,对权限,用户认证这一块提供的功能非常丰富
  • 集成shiro较简单,开发周期很短。
可以自定义需求,灵活扩展
 

本文由【红凯】发布于开源中国,原文链接:https://my.oschina.net/u/4134962/blog/3072883

全部评论: 0

    我有话说: