轻松搭建CAS 5.x系列(8)-在CAS Server增加双因素认证(DUO版)

概述说明



为了让系统更加安全,很多登录会加入双因素认证。何为双因素,如果把登陆作为开一扇门的话,那就是在原来的锁上再加一把锁,第二锁用新的钥匙,这样安全系数就更加高了。

CAS是通过账号名和密码来认证的,那如果账号名和密码泄密就会造成信息泄露。所以为了安全,CAS在账号名密码认证通过后,再给用户的手机发送消息验证码,用户输入验证码后才能真正的登录完成。

本章就是讲解怎么在CAS增加手机验证的双因素,需要特殊说明的是,CAS自身是不支持的,是将第三方的双因素认证系统整合进来的。本章是使用的是Duo Secret

搭建步骤



`1. 首先,您需要有个CAS Server端

如果您没有,可以按照我之前写的文章《轻松搭建CAS 5.x系列文章》系列的前3篇文章搭建好CAS Server。

`2. 在pom.xml增加依赖包

 1         <!-- Duo Security Authentication Begin -->
 2         <dependency>
 3              <groupId>org.apereo.cas</groupId>
 4              <artifactId>cas-server-support-duo</artifactId>
 5              <version>${cas.version}</version>
 6         </dependency>
 7         <!-- Duo Security Authentication End -->
 8         <!-- Duo Security Authentication Begin -->
 9         <repository>
10             <id>duo-unicon</id>
11             <url>https://dl.bintray.com/uniconiam/maven</url>
12         </repository>
13         <repository>
14             <id>duo-jitpack</id>
15             <url>https://jitpack.io</url>
16         </repository>
17         <!-- Duo Security Authentication End -->   

·3 在Duo网站上注册管理账号

网站地址:https://signup.duo.com/ (需要FQ)

·4. 登录到Duo后台,增加application

点击菜单:protect an application - 选择cas

并增加登录策略

创建完成后就有了 duoSecretKey、duoIntegrationKey、duoApiHost

`5. application.properties增加配置文件

 1 cas.authn.mfa.globalProviderId=mfa-duo
 2 cas.authn.mfa.duo[0].duoSecretKey=BRuiDVVHnK9iolBzoy1QTTK4q38Qkw0blkAutm3m
 3 cas.authn.mfa.duo[0].rank=0
 4 cas.authn.mfa.duo[0].duoApplicationKey=6e846c1eec420786716015bbb7c1e207b77d781e
 5 cas.authn.mfa.duo[0].duoIntegrationKey=DIZSC3XXIQ4EWEAOGUPN
 6 cas.authn.mfa.duo[0].duoApiHost=api-4cfedbe7.duosecurity.com
 7 cas.authn.mfa.duo[0].trustedDeviceEnabled=false
 8 cas.authn.mfa.duo[0].id=mfa-duo
 9 cas.authn.mfa.duo[0].registrationUrl=https://registration.example.org/duo-enrollment
10 cas.authn.mfa.duo[0].name=duoname

其中cas.authn.mfa.duo[0].duoApplicationKey是自行生成的,这个是不少于40位的字符串

-6. 打包

mvn package

效果演示



-1. 首先需要手机下载Duo Mobile (APP)

-2. 启动tomcat,访问登录

需要特殊说明的,
在视频中点击按钮“Send Me a Push" ,是在手机Duo APP显示登录确认,这个跟电脑登录微信端类似,具体见下图

OK 大功告成

参考文章



1. CAS中文文档站点#代理认证

2. Duo Docuents#Central Authentication Server (CAS)     (需要FQ访问)

最后,大家想更多CAS了解的话,可以来CAS中文文档站点(http://www.cassso-china.cn)来瞅瞅

原文地址:https://www.cnblogs.com/jpeanut/p/9461015.html

时间: 2024-08-03 09:29:52

轻松搭建CAS 5.x系列(8)-在CAS Server增加双因素认证(DUO版)的相关文章

轻松搭建CAS 5.x系列(6)-在CAS Server上增加OAuth2.0协议

概述说明 CAS Server默认搭建出来,客户端程序只能按照CAS自身的协议接入.CAS的强大在于,有官方的插件,可以支持其他的协议.本章节就让CAS Server怎么增加OAuth2.0的登录协议. 安装步骤 `1. 首先,您需要有个CAS Server端 如果您没有,可以按照我之前写的文章<轻松搭建CAS 5.x系列文章>系列的前3篇文章搭建好CAS Server. ·2. 在pom.xml增加依赖包 1 <!-- OAuth/OpenID Authentication Begin

轻松搭建CAS 5.x系列(9)-登录后显示通知信息

概述说明 用户在账号名密码认证通过后,CAS可以跳转到登陆完成页面前,显示相关的通知页面. 搭建步骤 `1. 首先,您需要有个CAS Server端 如果您没有,可以按照我之前写的文章<轻松搭建CAS 5.x系列文章>系列的前3篇文章搭建好CAS Server. `2. 在pom.xml增加依赖包 1 <!-- Authentication Interrupt Begin --> 2 <dependency> 3 <groupId>org.apereo.ca

net.sz.framework 框架 轻松搭建服务---让你更专注逻辑功能---初探

前言 在之前的文章中,讲解过 threadmodel,socket tcp ,socket http,log,astart ,scripts: 都是分片讲解,从今天开始,将带大家,一窥 net.sz.framework 框架: net.sz.framework 框架分为java版本和C#.net 版本,两种语言版本保持高一致性: net.sz.framework 能做什么呢? net.sz.framework 是经过多年实践和研究,包括在线项目验证的底层框架,致力于解决框架问题: 让你更轻松,愉

教你使用Wordpress轻松搭建自己的网站

本文来自e良师益友网 毕业季意味着求职的开始,在求职的时候想不想在面试官面前加分?建个网站呗.不会代码?其实方法很多,今天介绍一种全世界最流行的搭建个人博客方法,教程简单实用,新手也可以很快就搞定. 博客搭建并不复杂,只是过程有点繁琐,适合喜欢折腾的人,主要有下面几个步骤: 1.新建一个博客文件 在搭建博客的过程中,我们需要创建一个文件,用来存储博客的相关信息.这些信息包括域名的信息,主机空间服务器ip,FTP登录名和密码,空间面板登录信息等等,只要是与该博客有关的信息,全部存在这个文件内,方便

无需编码,轻松搭建企业采购管理软件

采购管理软件是具有采购申请.采购订货.入库检查.货物管理.出库登记等一系列功能的管理软件 本文主要介绍如何在无需编码的情况下,使用活字格搭建企业采购管理软件. 第一步.完成采购系统的数据表设计 第二步.完成设计表之间关系的联接 第三步.使用统计字段设置需要统计的数据 第四步.设计采购管理系统的页面 第五步.规划完整体页面后,开始设计页面模板 第六步.设计每个页面的布局和功能 最后,进入系统,查看采购信息 使用活字格,无需编码,轻松搭建企业采购管理软件. 了解活字格:http://www.grap

【Android】利用adt-bundle在Windows下轻松搭建Android开发环境与Hello world

Android开发环境有三种方式,分别是JDK+SDK+Eclipse+ADT.JDK+adt-bundle与JDK+Android Studio. 不要使用JDK+SDK+Eclipse+ADT这种方式,不是说什么太复杂的,是因为郭嘉的网络你懂的,打开SDK工具之后就根本就下载不了.Android Studio也是不行的,说好集合大量打开环境.安装的时候却还是需要联网. 建议使用JDK+adt-bundle这种方式来搭建Android开发环境.同时adt-bundle认准20131030版本.

【Android】利用adt-bundle在Linux下轻松搭建Android开发环境与Hello world

本文与<[Android]利用adt-bundle在Windows下轻松搭建Android开发环境与Hello world>(点击打开链接)是姊妹篇,只是这次操作换成了Linux .拿Ubuntu做例子.还是与Windows一样.由于JDK+Eclipse+ADT+SDK或者JDK+Android Studio在安装的过程中非得联网不可.因此也选用了JDK1.7+解压即用的官方绿色版Android开发环境adt-bundle20131030去安装. 一.基本准备 首先还是与<[Linux

CAS单点登录系列之极速入门于实战教程(4.2.7)

@ 目录 一. SSO简介 1.1 单点登录定义 1.2 单点登录角色 1.3 单点登录分类 二. CAS简介 2.1 CAS简单定义 2.2 CAS体系结构 2.3 CAS原理 三.CAS服务端搭建 3.1 CAS支持Http登录配置 3.2 CAS服务端部署运行 四.CAS客户端接入 五.客户端极速接入 一. SSO简介 1.1 单点登录定义 单点登录(Single sign on),英文名称缩写SSO,SSO的意思就是在多系统的环境中,登录单方系统,就可以在不用再次登录的情况下访问相关受信

CAS单点登录实践(spring cas client配置)

前言: 最近的项目需要将多个站点统一登录,查阅了资料Jasig cas(Central Authentication Service)(官方站点:http://www.jasig.org/cas)使用的比较多. 项目情况: 开发语言:JAVA 框架:spring 容器:tomcat7 JDK: 1.7 部署方式:docker 目标: 实现OMS.BMS.UMS.VOD.Live多站点切换期间只有第一次访问的站点需要登录,登录后调转的其他站点不需要在登录. 过程: 在配置前需要开启tomcat的T