cas服务器作用,CAS服务器搭建

2023-05-16

CAS服务器搭建

目的:搭建以jdbc方式连接数据库并认证用户信息

服务器源码下载地址: https://github.com/apereo/cas/releases/tag/v4.2.1

解压后,项目目录如下:

165c54fc91bc?tdsourcetag=s_pctim_aiomsg

CAS服务器提供了很多组件的支持,我们只需要关注cas-server-webapp这一项目就可以了

165c54fc91bc?tdsourcetag=s_pctim_aiomsg

我们可以留意倒,从cas-4.x开始,构建方式就改成了gradle,这里就不介绍gradle构建了,我们只需要安装配置好gradle,,然后此次用到的gradle命令是:   gradle build   这个相当于mvn package命令,作用是对项目进行编译和打包

展示一下cas-server-webapp的build.gradle

165c54fc91bc?tdsourcetag=s_pctim_aiomsg

dependencies是指cas-server-webapp项目依赖的组件(与maven一样),如果想增加组件或删除组件,只要写对应的compile就ok了。

第一步:建立数据库表

165c54fc91bc?tdsourcetag=s_pctim_aiomsg

字段说明:

username:用户名

password:通过SHA-256加密后的算法

salt:加密用到的盐

第二步:build.gradle添加相应的依赖

165c54fc91bc?tdsourcetag=s_pctim_aiomsg

只需要添加cas-server-support-jdbc依赖,项目即可依赖于数据库做用户认证

除此之外,我们需要添加 相应的数据库依赖包

这里用阿里的Druid作连接池

165c54fc91bc?tdsourcetag=s_pctim_aiomsg

第三步:配置deployerConfigContext.xml

文件目录:deployerConfigContext.xml(该文件配置了认证的方式以及相关的Bean关系)

165c54fc91bc?tdsourcetag=s_pctim_aiomsg

默认情况下,cas是通过acceptUsersAuthenticationHandler来处理用户认证的,该认证方式是通过检查cas.properties下

165c54fc91bc?tdsourcetag=s_pctim_aiomsg

这里枚举出的用户名和密码作校验。

首先,我们把认证处理方式修改成

165c54fc91bc?tdsourcetag=s_pctim_aiomsg

queryAndEncodeDatabaseAuthenticationHandler是指通过查询数据库并编码来校验用户名和密码,后面会对这个类进行介绍。

queryAndEncodeDatabaseAuthenticationHandler需要依赖  dataSource 才能运行,所以,我们再配置一个dataSource

165c54fc91bc?tdsourcetag=s_pctim_aiomsg

注意,需要给dataSource加上别名,因为queryAndEncodeDatabaseAuthenticationHandler注入Datasource时,依赖的是queryEncodeDatabaseDataSource。

第四步:配置数据库参数以及认证参数首先,在cas.properties末尾加上

#jdpc config settings

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=jdbc:mysql://127.0.0.1:3306/castest?useUnicode=true&characterEncoding=utf-8

jdbc.username=root

jdbc.password=123456

#druid connection pool settings

druid.initialSize=10

druid.minIdle=10

druid.maxActive=50

druid.maxWait=60000

druid.timeBetweenEvictionRunsMillis=60000

druid.minEvictableIdleTimeMillis=300000

druid.validationQuery=SELECT 'x'

druid.testWhileIdle=true

druid.testOnBorrow=false

druid.testOnReturn=false

druid.poolPreparedStatements=true

druid.maxPoolPreparedStatementPerConnectionSize=20

上面是数据库的相关配置

最后,配置queryAndEncodeDatabaseAuthenticationHandler的处理参数:

165c54fc91bc?tdsourcetag=s_pctim_aiomsg

到此,配置工作已经完成,下面介绍一下queryAndEncodeDatabaseAuthenticationHandler如何处理认证的,cas-4.2.1\cas-server-support-jdbc\src\main\java\org\jasig\cas\adaptors\jdbc该目录下

165c54fc91bc?tdsourcetag=s_pctim_aiomsg

下面介绍几点

165c54fc91bc?tdsourcetag=s_pctim_aiomsg

所有通过数据库认证的实体类都继承AbstractJdbcUsernamePasswordAuthenticationHandler

165c54fc91bc?tdsourcetag=s_pctim_aiomsg

QueryAndEncodeDatabaseAuthenticationHandler构造方法

后面的具体的认证逻辑,就不一一介绍了。

最后:打包,部署到tomcat,并启动

165c54fc91bc?tdsourcetag=s_pctim_aiomsg

在cas-server-webapp目录下执行gradle build命令打包

165c54fc91bc?tdsourcetag=s_pctim_aiomsg

打包成功,将build/libs/cas-server-webapp-4.2.1.war部署到tomcat下运行就可以了

(....这里省略tomcat  https协议配置了,百度一堆)

测试:https://sso.castest.com:8443/cas-server-webapp-4.2.1/login

165c54fc91bc?tdsourcetag=s_pctim_aiomsg

165c54fc91bc?tdsourcetag=s_pctim_aiomsg

登出测试:

165c54fc91bc?tdsourcetag=s_pctim_aiomsg

ps:附上用户加密的java代码

165c54fc91bc?tdsourcetag=s_pctim_aiomsg

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

cas服务器作用,CAS服务器搭建 的相关文章

  • apereo CAS Server 6.2.x 和 6.4.x 的部署

    代码地址 xff0c 分别下载6 2和6 4两个版本 https github com apereo cas overlay template 版本地址 xff1a https github com apereo cas overlay t
  • 搭建Cas服务

    环境要求 JDK 1 8CAS 5 3tomcat 9 1 cas项目下载地址 xff1a https github com apereo cas overlay template tree 5 3 2 使用idea导入cas overla
  • 搭建部署svn服务器

    环境说明 环境 linux centos7 关闭防火墙和selinux systemctl stop firewalld setenforce 0 Ip 192 168 244 134 Svn服务器的搭建 安装svn yum install
  • CentOS8服务篇8:NFS服务器配置与管理

    一 安装NFS服务器 进入到超级用户 执行 yum y install nfs utils rpcbind 就开始安装NFS和RPC了 二 关闭服务器防火墙 systemctl stop firewalld 三 临时关闭SELinux se
  • 单点登录CAS学习(二):使用IDEA搭建cas-overlay-5.3工程

    上一篇对于单点登陆进行了初步了解 我们做单点登录应用的时候 会有两个场景 单点登录的服务端 单点登录的客户端 指各个应用系统 从本篇开始的系列文章将分别介绍服务端的工程如何搭建 客户端如何改造以适用于单点登录 首先从服务端开始 我们往往需要
  • CentOS8服务篇2:配置与应用Web服务

    Web服务器又称为WWW服务器 它是放置一般网站的服务器 一台Web服务器上可以建立多个网站 各网站的拥有者只需要把做好的网页和相关文件放置在Web服务器的网站中 其他用户就可以通过浏览器访问网站中的网页了 目前能够提供Web网络服务的程序
  • 经典的ABA问题与解决方法

    1 AbA问题的产生 要了解什么是ABA问题 首先我们来通俗的看一下这个例子 一家火锅店为了生意推出了一个特别活动 凡是在五一期间的老用户凡是卡里余额小于20的 赠送10元 但是这种活动没人只可享受一次 然后火锅店的后台程序员小王开始工作了
  • Cas5.3.2 服务端 自定义登入界面

    第一 项目整体结构 自定义页面涉及资源全部存放再src main resources 文件夹目录下 目录 含义 services 配置自定义登入网站模板 static 静态文件目录 用于存放js css代码的 templates 模板文件目
  • Java内存模型,volatile关键字和CAS算法,

    引言 在前几篇博文中我详细介绍了HashMap的底层实现原理 后来我接连写了三天JVM和GC的一些知识 那些知识偏向于理论 今天换点口味 和大家一起研究学习一下ConcurrentHashMap的底层实现 因为jdk1 8在HashMap和
  • spring-boot项目使用ulisesbocchio对配置文件敏感信息加密

    参考文献github官网地址 https github com ulisesbocchio jasypt spring boot 1 添加依赖 maven
  • coreutils-stty 初始设置和echo 16进制modBus数据至串口

    安装USB串口驱动 注 我所使用的USB serial芯片为pl2303 个人根据自己不同的芯片安装对应驱动 kmod usb serial pl2303 串口 dev ttyUSB0 配置 其中 F 指定端口 cs8表示8位 parenb
  • CAS AD LDAP 32 错误

    当我尝试使用 CAS 登录时 我看到了这一点 CAS 通过 LDAP 对 AD 进行身份验证 SEVERE Servlet service for servlet cas threw exception javax naming NameN
  • CAS 服务票证验证失败

    我已点击链接http lukesampson com post 315838839 cas on windows localhost setup in 5 mins 则cas服务器工作正常 登录url为http 10 1 1 26 8080
  • OpenDJ、OpenAM 和 OpenIAM 是免费软件

    已经使用 OpenDJ 和 OpenAM 的人有什么体验 旧版本似乎可以免费使用 但新版本似乎不能免费使用 它们与现有的商业产品相比如何 它们看起来比使用 OpenLDAP 和 CAS 更好 但看起来并不免费 您可以在下面找到答案 具体取决
  • 无法解析“SingleSignOutFilter”中的“setCasServerUrlPrefix”

    最近升级了依赖 CAS 进行身份验证的 Spring Boot 应用程序后 该项目不再编译 因为setCasServerUrlPrefix找不到方法SingleSignOutFilter java cannot find symbol sy
  • CodeIgniter 的 CAS 身份验证库

    我正在尝试在 CodeIgniter 应用程序中实现 CAS 身份验证 但我找不到当前是否有为其设置的库 我通过只包含类并添加一些肮脏的修复来进行管理 但如果有人知道合适的库 我认为这将是一个更干净的解决方案 我一直在浏览这里以及谷歌上的一
  • 如何使用 Devise 将 Rails 应用程序转变为 SSO/CAS 服务器?

    我从一个上一个问题我一直在问错误的问题 我想将我的应用程序变成 CAS 服务器 以便应用程序的管理员可以使用相同的身份验证机制来登录我们为组织开发的其他应用程序 你以前做过这个吗 是否有一个插件可以增加 Devise 充当 CAS 服务器的
  • 如何将CAS认证与Spring Security集成?

    我已将 spring security 集成到我的项目中 并且之前使用 hibernate 验证用户详细信息 现在我必须使用 CAS 来完成它 这是我当前的 Spring security xml
  • CAS 注销和 cookie 消除

    我刚刚制作了一个 HelloWorld servlet 并在其上实现了 CAS 我能够毫无问题地登录 并且 CAS 在我的浏览器中设置 3 个 cookie CASGT 并为 cas 设置 2 个 JSESSIONID 1 另一个为 hel
  • 通过cas进行ajax调用

    我需要编写一个谷歌小工具来读取谷歌群组的提要 问题是我正在进行 ajax 调用来检索提要 而我们的 google apps 域受 CAS 中央身份验证服务 保护 因此 我在拨打电话时收到 400 错误请求 我怀疑浏览器在进行 ajax 调用

随机推荐

  • SerialPort IOException Workaround in C#

    ref http zachsaw blogspot com 2010 07 serialport ioexception workaround in c html As promised I 39 ve whipped up a quick
  • LVM-逻辑卷常用命令和示意图

    功能 命令物理卷管理卷组管理逻辑卷管理扫描pvscanvgscanlvscan建立pvcreatevgcreatelvcreate显示pvdisplayvgdisplaylvdisplay删除pvremovevgremovelvremove
  • 卷基于快照进行恢复

    基于P版本 xff0c 对卷基于快照进行恢复的源码分析 1 特性描述 在pike版本中 xff0c openstack官网增加了一个新特性 xff0c Cinder volume revert to snapshot xff0c 该特性支持
  • 计蒜客 2019 蓝桥杯省赛 B 组模拟赛(一)

    D题 xff1a 马的管辖 二进制枚举方案 判断该方案是否全部能被覆盖 xff0c 将最优方案存下来并进行剪枝 include lt iostream gt include lt cstring gt include lt cstdio g
  • [bash] 查找替换文件

    bash 查找替换文件 写这个脚本也加深了对 bash 数组的理解 bin bash 2015 11 23 echo e 34 说明 n将文件放在 app tmp class目录下 xff0c 保证该目录下没有其他文件 n备份目录在 app
  • Mac M1芯片 安装Homebrew

    MacBook M1芯片安装代码如下 xff0c 打开终端输入 bin bash c 34 curl fsSL https cdn jsdelivr net gh ineo6 homebrew install install sh 34 看
  • 1.学习大纲

    1 朱有鹏嵌入式Linux核心课程 xff1a https item taobao com item htm spm 61 a230r 1 14 1 1fca1869rWwNpJ amp id 61 45153106151 amp ns 6
  • [工具整理] Debain(KDE)下常用工具

    前言 xff1a Debian安装了KDE桌面环境后 xff0c 发现好多有用的功能没有集成 xff0c 需要自己安装 这里主要介绍 xff1a 截图工具 云盘工具以及KDE上的网络管理工具 0x01 截图工具 xff1a 推荐使用 fla
  • 【转】汽车CAN总线

    概述 CAN xff08 Controller Area Network xff09 总线协议是由 BOSCH 发明的一种基于消息广播模式的串行通信总线 xff0c 它起初用于实现汽车内ECU之间可靠的通信 xff0c 后因其简单实用可靠等
  • 轻松搭建CAS 5.x系列(1)-使用cas overlay搭建SSO SERVER服务端

    概要说明 cas的服务端搭建有两种常用的方式 xff1a 1 基于源码的基础上构建出来的 2 使用WAR overlay的方式来安装 官方推荐使用第二种 xff0c 配置管理方便 xff0c 以后升级也容易 本文就是使用第二种方式 安装步骤
  • vnc连接报错“connection refused (10061)”

    排除 防火墙等等 xff0c 网络设置的错误外 xff0c 登录putty exe 使用以下命令来启动 vnc server 共两行 xff1a service vncserver start vncserver 之后弹出两个warning
  • ST-LINK V2 DIY笔记(一)

    最近一段时间调试STM32板子的时候 xff0c 都是用JLINK 43 杜邦线 xff0c 或者拿官方板子当STLINK用 xff0c 可以用 xff0c 但是体积比较大 xff0c 有时候觉得比较麻烦 正好前一阵手头项目少 xff0c
  • 驱动级键盘模拟(C#)(高手请飘过)

    游戏外挂一般分为三个级别 xff1a 初级是鼠标 键盘模拟 xff0c 中级是Call游戏内部函数 xff0c 读写内存 xff0c 高级是抓包 xff0c 封包的 脱机挂 xff08 完全模拟客户端网络数据 xff0c 不用运行游戏 xf
  • CentOS7安装配置VNCServer

    一 安装图形界面 1 安装X Window图形界面 shell gt yum y groupinstall 34 X Window System 34 shell gt yum y install gnome classic session
  • 【计算机本科补全计划】NFV/SDN初识(为了避免保研复试被电话面试)

    正文之前 所有的通信应用无非就是两部分组成 xff1a 计算和网络 这两者关系密不可分 xff0c 但两者关系严重缺乏对称性 xff0c 网络一直拖累着计算 就好像是发快递 xff0c 你打个包 xff08 计算 xff09 只需要几分钟
  • [!] CDN: trunk - Cannot perform full-text search because Algolia returned an error: 0: Cannot reach

    pod search XXXX 时报错 xff1a CDN trunk Cannot perform full text search because Algolia returned an error 0 Cannot reach any
  • 北大青鸟消防设备说明书_北大青鸟火灾报警控制器JB-TG/T-JBF-11S厂家使用说明书...

    北大青鸟火灾报警控制器JB TG T JBF 11S厂家 使用说明书 一 JB TG T JBF 11S火灾报警控制器主要技术指标 xff1a 型号JB TG T JBF 11S 供电主电AC220V 10 50Hz 巡检周期3秒 备电DC
  • linux测试音量,在Linux中获取C中的主音量

    我正试图在Linux中检索 可能稍后设置 主音量 我正在使用PulseAudio 但理想情况下它也适用于ALSA 我找到了关于如何设置音量的this非常有用的帖子 从中我能够推断出snd mixer selem get playback v
  • Linux之apt命令详解

    一 apt的简介 apt命令可以说是Linux系统下最为重要的命令 xff0c 安装 更新 卸载软件 xff0c 升级系统内核都离不开apt命令 apt的全称是Advanced Packaging Tool是Linux系统下的一款安装包管理
  • cas服务器作用,CAS服务器搭建

    CAS服务器搭建 目的 xff1a 搭建以jdbc方式连接数据库并认证用户信息 服务器源码下载地址 https github com apereo cas releases tag v4 2 1 解压后 xff0c 项目目录如下 xff1a