项目是国外的一位大神发布到githut上,这里只是对项目代码的分析与学习,也算是一种强化记忆

附上 githut地址:https://github.com/OpenConext/Mujina

项目分为一个idp,一个sp,以及他们共用的包 ,saml-commom ,我是觉得使用spring boot 来配置比之前使用xml来配置要清晰一些。项目运行前需要先安装配置lombok。基本满足一个sp对多个idp,sp对saml response的校验,

但是没有idp对sp请求的校验,这里的校验指的是对签名的校验,基本的格式的校验都是有的。

项目默认的sp运行在9090端口,idp的端口是8080,访问http://localhost:9090 ,点击登录,浏览器debug模式下,可以看到sp会向idp发送一个认证请求,接着我们可以在idp输入用户民密码进行登录并且返回sp,项目默认没有对用户名密码进行校验,这里有一个add

attribute,可以添加你想给sp的数据,这些数据会在samlresponse一并返回给sp

关于saml2 ,是一种安全认证协议,如果你打开一个sp的页面,或者说是一个客户端的页面,如果你没登陆,会自动跳转idp进行登录,在之前sp和idp会把自己的证书给sp,或者应该说是metadata,在sp的resource目录下可以找到,

关于saml的讲解可以查查这个http://saml.xml.org/search/node/Validate+authnrequest+sign,维基百科上也讲的很清楚,说实话配置是真的多。

证书主要包含一份idp的公钥,和一个idp的认证地址。sp会使用这个公钥对请求进行加密。证书可以使用户javatool进行生成。百度自取。

spring boot 整合saml2的更多相关文章

  1. Spring Boot 整合 Elasticsearch,实现 function score query 权重分查询

    摘要: 原创出处 www.bysocket.com 「泥瓦匠BYSocket 」欢迎转载,保留摘要,谢谢! 『 预见未来最好的方式就是亲手创造未来 – <史蒂夫·乔布斯传> 』 运行环境: ...

  2. spring boot整合jsp的那些坑(spring boot 学习笔记之三)

    Spring Boot 整合 Jsp 步骤: 1.新建一个spring boot项目 2.修改pom文件 <dependency>            <groupId>or ...

  3. spring boot 系列之四:spring boot 整合JPA

    上一篇我们讲了spring boot 整合JdbcTemplate来进行数据的持久化, 这篇我们来说下怎么通过spring boot 整合JPA来实现数据的持久化. 一.代码实现 修改pom,引入依赖 ...

  4. Spring Kafka和Spring Boot整合实现消息发送与消费简单案例

    本文主要分享下Spring Boot和Spring Kafka如何配置整合,实现发送和接收来自Spring Kafka的消息. 先前我已经分享了Kafka的基本介绍与集群环境搭建方法.关于Kafka的 ...

  5. Spring Boot整合Mybatis并完成CRUD操作

    MyBatis 是一款优秀的持久层框架,被各大互联网公司使用,本文使用Spring Boot整合Mybatis,并完成CRUD操作. 为什么要使用Mybatis?我们需要掌握Mybatis吗? 说的官 ...

  6. spring boot整合Hadoop

    最近需要用spring boot + mybatis整合hadoop,其中也有碰到一些坑,记录下来方便后面的人少走些弯路. 背景呢是因为需要在 web 中上传文件到 hdfs ,所以需要在spring ...

  7. Spring Boot整合Elasticsearch

    Spring Boot整合Elasticsearch   Elasticsearch是一个全文搜索引擎,专门用于处理大型数据集.根据描述,自然而然使用它来存储和搜索应用程序日志.与Logstash和K ...

  8. spring boot 整合 百度ueditor富文本

    百度的富文本没有提供Java版本的,只给提供了jsp版本,但是呢spring boot 如果是使用内置tomcat启动的话整合jsp是非常困难得,今天小编给大家带来spring boot整合百度富文本 ...

  9. spring boot 整合quartz ,job不能注入的问题

    在使用spring boot 整合quartz的时候,新建定时任务类,实现job接口,在使用@AutoWire或者@Resource时,运行时出现nullpointException的问题.显然是相关 ...

随机推荐

  1. CRF++的使用(待更新)

    1.下载CRF++(Windows和Linux两个版本) 2.目录如下: 主要用到crf_learn.exe ,crf_test.exe和libcrfpp.dll三个文件 doc文件夹:官方主页 ex ...

  2. Assets.xcassets的使用

    先介绍下Asset Catalog,Asset Catalog是Xcode5引入的一个新的图片管理方式,有几个好处: 1.自动管理图片,如@1x,@2x图片,使用的时候使用Asset 名字即可 2.管 ...

  3. Linux上安装JDK1.8,tomcat9,以及mysql8的步骤

    (该篇是在centos7上安装JDK1.8.0_201  tomcat9.0.16 和 mysql8.0.15) 一.安装JDK 方式一 1.首先,下载JDK(链接http://www.oracle. ...

  4. ansible获取远程机器上的ip地址

    问题: 想要使用ansible-playbook脚本创建一个以远程机器的IP命名的目录 错误的代码:# vim test.yml --- - hosts: all remote_user: root ...

  5. Qt设置生成的exe文件图标

    版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明.本文链接:https://blog.csdn.net/qq_37354286/article/d ...

  6. DigitalOcean 推荐的ubuntu16下LAMP安装过程

    LAMP安装过程: How To Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu 16.04 (另一个参考例程:Ubuntu 16.0 ...

  7. 014-Zabbix的自动发现

    Zabbix自动发现是通过(1)网络扫描或(2)代理主动发现实现监控.本文主要介绍网络扫描的发现方式,并深入介绍底层监控项的主动发现功能. 网络发现(Discovery) 对于网络发现最需要理解的就是 ...

  8. 浅谈java虚拟机|系列1|架构简介

    今天开了一个专题.谈谈我们java程序员每天面对的java虚拟机(jvm). 本质上来说,jvm分两部分:编译器(compiler)和运行时(runtime). 所谓的编译器,简单来说,他就是个翻译机 ...

  9. jpa 中的save()方法

    @RequestMapping(value = "", method = RequestMethod.POST) public String postAccount(@Reques ...

  10. pyqt5-QTDesigner--控件操作

    Edit菜单       编辑小伙伴.用鼠标直接拖       编辑控件---样式等等. 点击需要编辑的控件--->   信号与槽 先用鼠标从控件往外拖---> --->选中相应的信 ...