Spring Security Oauth2实践(3) - 单点登录(SSO)

本次分享Oauth2的第三个实践——SSO单点登录。这个场景经常用于企业开发,集成多方系统认证。

CAS与Oauth2?

业界实现SSO一般采用CAS方案,案例也很多,也有很多其它标准和实现。CAS与Oauth2在实现SSO上的区别,可参考CAS的单点登录和oauth2的最大区别SSO with CAS or OAuth?两篇文章,相信读者读完后会有收获。
CAS是侧重于认证,Oauth2是认证、授权或控制对某些资源的访问权限。CAS客户端登录后获取到用户的资源后,判断是否有权限访问自己,而Oauth2客户端是需要获取用户资源,且需要Oauth2认证的客户端才可以访问。
在实现上CAS一般是不会关心具体是哪个客户端(可以自定义实现),而Oauth2服务端是给每个客户端都分配一个appId和secret才能访问Oauth2Resource并获取用户信息。
个人觉得,在企业SSO开发中,如果仅仅只需要认证,各系统间不需要授权访问,则可以采用CAS;如果需要认证、SSO,并且各系统间有资源访问认证需求、还有APP端对接,可以采用Oauth2实现SSO+授权。

客户端实现

相同的对接方式实现两个不同客户端,展示SSO的实践。

Maven依赖

springboot、spring-boot-starter-security版本均为2.1.11,spring-security-oauth2-autoconfigure版本为2.1.4.RELEASE,各版本对应匹配信息可参考maven中央仓库查询。

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.security.oauth.boot</groupId>
        <artifactId>spring-security-oauth2-autoconfigure</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值