REST认证方式使用在这样的场景下,用户数据是存储在远端,不允许CAS直接访问账号数据,不希望CAS知道账号数据的表结构等情,因此会通过发起一个POST请求来进行认证.

CAS配置

第一步把上节内容中的数据库配置全部注释掉,或者我们复制一份新的cas.properties文件.

cas.server.name=https://localhost:8443

cas.server.prefix=${cas.server.name}/cas

logging.config: file:/etc/cas/config/log4j2.xml

cas.authn.accept.users=

cas.authn.rest.uri=http://localhost:8080/login

cas.authn.rest.passwordEncoder.type=DEFAULT

cas.authn.rest.passwordEncoder.characterEncoding=UTF-8

cas.authn.rest.passwordEncoder.encodingAlgorithm=MD5

build.gradle配置

compile "org.apereo.cas:cas-server-support-rest-authentication:${project.'cas.version'}"

当用户点击登录后,cas会发送post请求到

http://localhost:8080/login

并且把用户信息以”用户名:密码”进行Base64编码放在authorization请求头中.

若输入用户名密码为:LegitUser/Password1

那么请求头包括: authorization=Basic Base64(LegitUser+MD5(Password1))

那么发送后客户端必须响应一下数据,cas明确规定如下:

cas 服务端会通过post请求,并且把用户信息以”用户名:密码”进行Base64编码放在authorization请求头中返回200状态码并且格式为{“@class”:”org.apereo.cas.authentication.principal.SimplePrincipal”,”id”:”LegitUser”,”attributes”:{}} 是成功的;

返回错误码

返回状态码:403用户不可用;404账号不存在;423账户被锁定;412过期;428密码需要更改;其他登录失败.

编译执行

提示找不到login服务

登录认证失败

可见已经提示post的服务并不存在.下一节我们来创建一个实例服务来配合做验证.

rest sso 和_SSO企业单点登录系统——CAS REST认证方式相关推荐

  1. 开源单点登录系统CAS入门

    单点登录系统CAS 目录 单点登录系统CAS 什么是单点登录? CAS 介绍 CAS 服务端部署 (1)复制war包到tomcat (2)运行tomcat (3)访问CAS登录页面 CAS服务端配置 ...

  2. cas java单点登录_java单点登录系统CAS的简单使用

    http://blog.csdn.net/yunye114105/article/details/7997041 参考: http://blog.csdn.net/diyagea/article/de ...

  3. SSO - 我们为何需要单点登录系统

    SSO,Single Sign On,也就是单点登录,保证一个账户在多个系统上实现单一用户的登录 现在随着网站的壮大,很多服务会进行拆分,会做SOA服务,会使用dubbo做微服务,或者简单的小型分布式 ...

  4. 开源的单点登录系统CAS入门

    单点登录 单点登录(Single Sign On),简称为SSO,是目前比较流行的企业业务整合的解决方案之一.SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统. 当一 ...

  5. 1.开源单点登录系统CAS 入门

    什么是单点登录 单点登录(Single Sign On),简称为SSO,是目前比较流行的企业业务整合的解决方案 之一.SSO 的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应 用 ...

  6. 开源单点登录系统CAS(二)

    5.CAS客户端入门 5.1客户端工程1搭建 (1)搭建工程引入依赖 创建Maven工程 (war)casclient_demo1 引入cas客户端依赖并制定tomcat运行端口为9001 <p ...

  7. 企业单点登录解决方案(CAS)之二安装要求

    2019独角兽企业重金招聘Python工程师标准>>> 安装要求 需求: Java > = 1.7 Servlet容器 支持servlet规范> = 3.0 Apache ...

  8. 单点登录系统cas资料汇总

    http://jasig.github.io/cas/4.0.x/index.html           主页 https://jasigcas.herokuapp.com              ...

  9. 单点登录系统(SSO)详细设计说明书

    1.引言 1.1编写目的 为了单点登录系统(SSO系统)的可行性,完整性,并能按照预期的设想实现该系统,特编写需求说明书. 同时,说明书也发挥与策划和设计人员更好地沟通的作用. 1.2背景 a.鉴于集 ...

  10. 单点登录系统的设计与实现方案

    目的: 对目前已有的 Web 应用系统,和将来待开发的 Web 应用系统系统进行集成,实现单点登录. 要求: 1. 对已有的 Web 应用系统不作大规模改造.    2. 不限制待开发的 Web 应用 ...

最新文章

  1. 物联网11种通信协议
  2. .NET 4.0有一个新的GAC,为什么?
  3. 视觉研究的前世今生(中)王天珍(武汉理工大学)
  4. 微软 PowerBI 被评为商业智能领导者-13年的企业产品奋斗史解读
  5. js动态给按钮赋id_如何给SHOPIFY店铺添加“立即购买”动态结账按钮
  6. 类加载是为了执行静态方法
  7. 变量的三重属性_TypeScript基础入门 - 变量声明(三)
  8. mysql关于时间的面试题_关于面试中的mysql试题1
  9. 实战react技术栈+express前后端博客项目(3)-- 后端路由、代理以及静态资源托管等配置说明...
  10. python植物大战僵尸 豆约翰_python植物大战僵尸十四之采集太阳(太阳不是同时产生)...
  11. Java证书读取的两种方式
  12. 2021全国人工智能大赛(NAIC)视觉编码赛道初赛一阶段baseline分享
  13. 【BC260Y】 AT指令接入移动oneNet平台流程
  14. JavaScript程序库jQuery学习笔记分享(二)jQuery对象和DOM操作,和其他js库冲突处理
  15. 荣耀X10 Max配置怎么样?今天来聊一聊
  16. java监听鼠标双击_java鼠标双击事件 java鼠标双击监听
  17. LTE上行物理层传输机制(1)-PUSCH上行跳频之Type1频率跳频
  18. 社团c语言程序设计,C语言课程设计-大学社团管理系统.doc
  19. sql查询 (连表查询)
  20. 老鸟谈谈JAVA EE的学习

热门文章

  1. 高并发编程系列:深入探讨ConcurrentHashMap
  2. Go Slice 高级实践
  3. Linux 文件权限、用户权限和用户组管理vim的一些基本使用技巧
  4. iOS Unicode转中文(UTF-8)
  5. 一个想法照进现实-《IT连》创业项目:三天的风投对接活动内幕分享
  6. 阿里巴巴创新中心联手上海市经信委在沪搞大事情了!
  7. H3CTE讲师分享H3C认证培训实验9 IP基础
  8. struts2与json的整合
  9. 如何设置微信小程序地图控件满屏
  10. 安装Vue-DevTools插件及免费分享安装包