CAS使用账号密码实现单点登陆

CAS使用账号密码实现单点登陆CAS单点登陆框架项目需求实现思路1、使用用户名密码获取TGT2、根据TGT和Service获取ST3、使用ST访问目标资源Java代码实现CAS单点登陆框架CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法官方网站https://www.apereo.org/projects/cas这里不详细介绍CAS的单点登陆原理,感兴趣的同学可以自己去研究一下,这里仅就项目中遇到的问题进行记录项目需求我们的系统通过单点登陆跳转到
摘要由CSDN通过智能技术生成

CAS单点登陆框架

CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法
官方网站
https://www.apereo.org/projects/cas

这里不详细介绍CAS的单点登陆原理,感兴趣的同学可以自己去研究一下,这里仅就项目中遇到的问题进行记录

项目需求

我们的系统通过单点登陆跳转到另一个系统,我们的系统使用的是Spring Security做用户验证,另一个系统使用的CAS单点登陆框架进行验证,两套系统用户没有任何关系,
对方系统仅提供了一个用户名和密码,所以我们需要通过用户名密码进行CAS登陆验证

实现思路

使用CAS的Restful API进行实现(需要CAS服务端配置REST API启用才可以,我没有找到使用CAS Client直接进行用户名密码验证的方法,有知道方法的大神可以指教一下)

1、使用用户名密码获取TGT

  • api: http://127.0.0.1:8080/cas/v1/tickets

  • method: post

  • RequestHeader:

    • Content-type: application/x-www-form-urlencoded
  • Requestbody:

    • username: user1
    • password: pwd
  • ResponseBody:

(这个可能与CAS服务端的配置或版本有关系,我也只是猜测,我调用的三方厂家服务的API只能获取到html格式的返回值,即使在Header里设置了Accept = application/json)

<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">
<html>
    <head>
        <title>201 Created</title>
    </head>
    <body>
        <h1>TGT Created</h1>
        <form action="http://127.0.0.1/cas/v1/tickets/TGT-2974-4Mki7nXCTz7Q9mQ9CZRbjF9k9WaZCc9bwR42VR46aMchxmS24r" method="POST">Service:
            <input type="text" name="service" value="">
            <br>
            <input type="submit" value="Submit">
        </form>
    </body>
</html>

返回的消息中,对我们有用的数据为http://127.0.0.1/cas/v1/tickets/TGT-2974-4Mki7nXCTz7Q9mQ9CZRbjF9k9WaZCc9bwR42VR46aMchxmS24r,这样我们就获得了TGT

2、根据TGT和Service获取ST

TGT是上一步中获取的返回值,service是指我们需要访问的服务地址,如果只做测试的话可以直接写www.baidu.com也可以,不过为了测试最终获取的ST的有效性,最好还是让三方厂家提供一个他们的使用CAS验证的服务

  • api: http://127.0.0.1/cas/v1/tickets/TGT-2974-4Mki7nXCTz7Q9mQ9CZRbjF9k9WaZCc9bwR42VR46aMchxmS24r

就是上一步中获取到的TGT

  • method: post
  • RequestHeader:
    • Content-type: application/x-www-form-urlencoded
  • Requestbody:
    • service: http://www.baidu.com
  • ResponseBody:
    • ST-4674-nPDWMzyeysgGJFXTYC7J-radar

返回的消息只有一个text文本,我猜测可能也跟CAS服务端的配置或版本有关

3、使用ST访问目标资源

  • url: http://www.b
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值