一. CAS5.3X 单点登录-基础搭建

cas 5.3.x 服务端搭建(三)自定义登录主题(样式) 首先在service目录下创建一个json文件形式为[theme-id].json 其中内容配置如下: {   "@class" : "org.apereo.cas.services.RegexRegisteredService",   "serviceId" : "^(https|imaps|http)://(localhost|www.hanyalei.com).*",   "name" ... 阅读详情

本章内容介绍cas项目搭建


我用到的cas版本为5.3.1,代码存放在github,欢迎下载

开发环境

  • Jdk1.8
  • Maven3.x
  • IDEA

1.下载Overlay

通过官方文档(https://apereo.github.io/cas/5.3.x/)介绍,我们可以通过使用一个名叫Overlay的项目来生成一个可以直接用的war包,来部署服务端,先下载这个项目(https://github.com/apereo/cas-overlay-template)

下载之后,通过idea打开此项目,看到以下这个结构:

overly-master

 

我们只是需要根据此项目的依赖环境创建我们的项目,所以。此项目仅为参考。


2.创建cas项目,基础搭建

项目结构如下:

我们只需将overlay的pom文件内容稍作修改后,拷到我们的sso_server下的pom中即可

以下是我修改后的pom文件内容:

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <parent>
        <artifactId>cas_easyec</artifactId>
        <groupId>com.googlecode.ec</groupId>
        <version>1.0-SNAPSHOT</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>

    <artifactId>sso_server</artifactId>
    <packaging>war</packaging>
    <name>sso-server</name>
    <dependencies>
        <dependency>
            <groupId>org.apereo.cas</groupId>
            <artifactId>cas-server-webapp-tomcat</artifactId>
            <version>${cas.version}</version>
            <type>war</type>
            <scope>runtime</scope>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.apereo.cas</groupId>
                <artifactId>cas-server-support-bom</artifactId>
                <version>${cas.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>com.rimerosolutions.maven.plugins</groupId>
                <artifactId>wrapper-maven-plugin</artifactId>
                <version>0.0.5</version>
                <configuration>
                    <verifyDownload>true</verifyDownload>
                    <checksumAlgorithm>MD5</checksumAlgorithm>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${springboot.version}</version>
                <configuration>
                    <mainClass>org.springframework.boot.loader.WarLauncher</mainClass>
                    <addResources>true</addResources>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.1.0</version>
                <configuration>
                    <warName>cas</warName>
                    <failOnMissingWebXml>false</failOnMissingWebXml>
                    <recompressZippedFiles>false</recompressZippedFiles>
                    <archive>
                        <compress>false</compress>
                        <manifestFile>
                            ${project.build.directory}/war/work/org.apereo.cas/cas-server-webapp-tomcat/META-INF/MANIFEST.MF
                        </manifestFile>
                    </archive>
                    <overlays>
                        <overlay>
                            <groupId>org.apereo.cas</groupId>
                            <artifactId>cas-server-webapp-tomcat</artifactId>
                        </overlay>
                    </overlays>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.3</version>
            </plugin>
        </plugins>
        <finalName>cas</finalName>
    </build>


</project>
 <properties>
        <cas.version>5.3.1</cas.version>
        <springboot.version>1.5.14.RELEASE</springboot.version>
        <!-- app.server could be -jetty, -undertow, -tomcat, or blank if you plan to provide appserver -->
        <app.server>-tomcat</app.server>

        <mainClassName>org.springframework.boot.loader.WarLauncher</mainClassName>
        <isExecutable>false</isExecutable>
        <manifestFileToUse>
            ${project.build.directory}/war/work/org.apereo.cas/cas-server-webapp${app.server}/META-INF/MANIFEST.MF
        </manifestFileToUse>
        <maven.compiler.source>1.8</maven.compiler.source>
        <maven.compiler.target>1.8</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

将etc及maven 拷到sso_server下,刷新maven,maven会自动帮你下载cas-server-webapp-tomcat的插件所以overylays的目录不需要你拷贝进来

现在的项目结构如下:

我们下一步要在sso_server下创建src目录,构建我们自己的sso工程,覆盖overlays中的文件

然后将overlays下面的WEB-INF/classes/application.properties拷到src下的资源目录下

修改application.properties文件:

cas默认端口号为8443,改为8080

下一步配置tomcat,端口为8080

启动tomcat,启动成功后跳转以下页面,至此cas 基础搭建成功

使用application.properties中的静态用户登录

cas.authn.accept.users=casuser::Mellon

账号casuser,密码Mellon

跳转登录成功页面

 

联系方式

如果对文章内容有疑惑或者开发过程中有什么问题可以邮件交流。

邮箱:jefferychen95@icloud.com

 

 

 

 

 

 

 

cas协议官方文档的理解(除代理模式) [CAS] TGT: 一种情况是tgt是一个对象,类似session,是验证成功之后创建的。存着一些信息,这种情况下tgc值就是tgt对象的id。另一种情况是tgt是一个字符串,那么tgc的值就是tgt,tgt还是需要关联session存储一些信息。 TGC: cookie,基本存储的就是tgt或者tgt的id。 TK : 从cas sever中获取, (cas实现是)根据t... 阅读详情

相关推荐

CAS方式实现单点登录

单点登录,英文是 Single Sign On,缩写为 SSO。 多个站点(192.168.1.20X)共用一台认证授权服务器(192.168.1.110,用户数据库和认证授权模块共用)。用户经由其中任何一个站点(比如 192.168.1.201)登录后,可以免登录访问其他所有站点。而且,各站点间可以通过该登录状态直接交互。 CAS Server 为需要独立部署的 Web 应用。CAS Client 支持非常多的客户端(这里指单点登录系统中的各个 Web 应用),包括 Jav...

monologuezjp的博客 1万+

SpringCloud技术栈微服务架构天猫商城企业级开发实战(附源码)

天猫商城是一个基于SSM框架的综合性B2C电商平台,需求设计主要参考天猫商城的购物流程:用户从注册开始,到完成登录,浏览商品,加入购物车,进行下单,确认收货,评价等一系列操作。 作为模拟天猫商城系统的核心组成部分之一,采用SSM框架的天猫数据管理后台包含商品管理,订单管理,类别管理,用户管理和交易额统计等模块,实现了对整个商城的一站式管理和维护。本课程是一门专业的Java微服架构开发实战课程,主要讲解了当下流行的SpringBoot框架、SpringCloud架构以及与第三方技术整合开发实战内容。通过本课程的学习,能够理解并掌握SpringBoot的基础知识,同时能够掌握SpringBoot与常用的第三方技术整合实现实际开发中的业务需求,包括实现Web开发、数据访问、缓存管理、安全管理、消息服务、任务管理等;了解并掌握SpringCloud微服务架构的基础知识及相关组件的应用,掌握微服务架构在企业级开发的实践,建立起微服架构思想。项目技术栈:采用SpringBoot简化商城系统的初始搭建以及开发过程采用SpringMVC+Spring+IBatis完成项目的整合采用Mysql作为数据库存储,Druid配置数据库连接池采用SpringCloud+Netflix 微服务技术栈的实战开发使用Redis完成缓存的数据存储,搭建Redis搭建主从、哨兵、集群应用,保证Redis的高可用使用ElasticSearch全文检索系统进行商品数据搜索,使用ElasticSearch搭建搜索服务的高可用使用Ngnix实现页面动静分离与负载均衡的配置采用FastDFS文件储存系统文件存储,完成广告图片、商品图片的上传和存储系统使用采用CAS+shiro单点登录系统实现用户认证使用ECharts根据后台查询数据生成图表使用POI实现了商城盈利状况的Excel表格导出。商品的详情页使用Thymeleaf完成页面静态化,减少页面数据展示延迟项目中使用SpringBoot下的Aop + 自定义注解完成用户行为记录,日志采集后台管理系统使用Shiro实现登录验证和权限管理(超级管理员、管理员、产品编辑员)项目整合微信完成订单的支付使用Redission完成分布式锁,生成订单的编号使用SpringCloud Alibaba Seat完成下订单模块的分布式事务(新增订单表,库存减少,库存超卖设计)使用RabbitMQ 做消息队列,完成订单未支付自动取消和模块直接的解耦合使用Quartz任务调度,完成缓存的定时刷新,保证缓存的一致性使用本地消息表机制完成消息然队列RabbitMQ消息可靠性传输订单支付模块使用微信扫码支付,并设置订单超时自动取消通过Jquery实现前端校验,通过基于Hibernate的Valida注解实现后端的校验功能使用Base64编码对Json数据传输进行编码和解码项目使用RESTful设计风格实现资源的访问,实现前后端分离项目使用聚合数据第三方短信平台完成用户的登陆功能项目使用SpringBoot整合JavaMail完成邮件的发送项目使用SpringBoot整合Swagger2生成接口文档使用PostMan完成接口的测试项目的测试:SpringTest、dbunit、EasyMock使用Docker 进行应用的自动化打包和发布、自动化测试和持续集成、部署和调整其他应用使用 PowerDesigner,完成数据库的建模项目使用禅道进行BUG管理环境采用Maven实施多模块项目构建,采用Git进行项目版本管理 架构解读:  项目部分截图:              讲义部分截图:          

CAS单点登录从入门到部署

当我们访问其他的应用,与前面的步骤也是基本相同,首先用户访问受保护的资源,跳转回浏览器,浏览器含有先前登录的CASTGC cookie,CASTGC cookie包含了TGT并发送到CAS认证中心,CAS认证中心校验TGT是否有效,如果有效分发浏览器一个带ST参数的资源地址URL,应用程序拿到ST后,再发送给CAS认证中心,如果认证了ST有效后,结果会返回一个包含成功信息的XML给应用。用户凭借ST去访问service,service拿ST去CAS验证,验证通过后,允许用户访问资源。PGT是ST签发的。

cgk_ALEM的博客 1998

统一身份认证(CAS)中文文档 请多指教

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vse3WaPC-1652672542393)(https://travis-ci.org/TencentWSRD/connect-cas2.svg?branch=master)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Lh1sXLhN-1652672542393)(https://coveralls.io/repos/github/TencentWSRD/connect-cas2/badg

xiaosi1413的博客 3167

CAS5.3单点登录服务端搭建与整合springboot

什么是单点登录 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 SSO是概念,实现SSO需要用到CAS框架 使用cas框架实现单点登陆 有多个不同服务器的web层需要登陆。就要使用cas。在一个web层页面登录,其他页面都不需要登录就能访问 如www.tao...

YZX2018的博客 3916

cas官方文档

cas官方文档,对如何使用cas进行了解释

CAS 5.3.x 单点登录实现集群搭建,快速入手(一)!!!!

前言: 该篇教程描述如何搭建CAS5.3.x集群操作,由于官方文档并没有贴出集群搭建方案,所以本博主根据源码剖析解决该问题。 文档并没有深入浅出说明原理,直接贴代码用于快速上手学习。 gainward555指出官网有提供配置,本人确实没注意到该配置内容,以为只是其他与redis有关并没有详细看配置内容,仔细看后发现确实是集群配置(吐槽下:官网的文档说明写的跟猫屎一样),地址如下: 官方配置...

Qensq的博客 6979

速腾聚创多激光雷达点云采集,并用RVIZ进行显示

在ubuntu20.04系统下,使用速腾聚创官方提供的软件RSView,对激光雷达的默认IP地址、MSOP 包端口号、 DIFOP包端口号和时间模式等配置进行查看和修改。使用交换机对两个激光雷达进行组网,实现多激光雷达数据采集,并用RVIZ同时显示两个雷达点云。使用wireshark对比两个雷达数据包。

abanchao的博客 5888

CAS5.3服务器搭建及SpringBoot整合CAS实现单点登录

CAS5.3服务器搭建及SpringBoot整合CAS实现单点登录1.1 什么是单点登录1.2 什么是CAS1.3 CAS服务端部署1.template下载1.4 客户端搭建 1.1 什么是单点登录 单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。 我们目前的系...

yyhdyp的博客 5205

提升仿真效率:Synopsys VCS高级编译选项优化技巧(2023最新版)

本文深入探讨了Synopsys VCS 2023版本中的高级编译选项优化技巧,帮助工程师提升仿真效率。通过并行编译、智能代码分析、精准覆盖率采样等策略,结合真实案例展示如何显著缩短仿真周期并优化资源使用,适用于数字芯片验证和大型SoC设计。

weixin_30338481的博客 113

保姆级教程:在瑞芯微RV1126B上部署轻量化YOLOv8,实现端侧实时目标检测

本文详细介绍了在瑞芯微RV1126B芯片上部署轻量化YOLOv8模型的完整流程,包括开发环境搭建、模型训练优化、量化转换及嵌入式部署。通过利用RV1126B的3TOPS NPU算力和AI-ISP特性,实现端侧实时目标检测,提升边缘AI应用的性能和效率。

weixin_30329623的博客 267

CAS5.3单点登录(一)服务器搭建

cas5.3服务搭建单点登录系统真是一步一坑,资料也比较少,在此记录一下,希望后来者可以轻松一点(一)安装包和环境依赖cas server依赖jdk,

zzy730913的博客 2万+

张量分解浅谈(四 Tucker 分解)

学完了SVD算法之后,我们继续回到张量几大分解的学习上来,本期学习的主要内容是张量的 Tucker 分解 以及 前面的CP分解还留下一点没有说完,正好一并补齐!后面的公式我将采用颜色标记,红色代表必须掌握,蓝色尽量掌握! 在这之前先附一张图,包含了各种运算符号的名称含义,大部分是前面说过或者使用过的: Tensor decomposition一 . Tucker 分解公式介绍和原理二 . 张量的 n-Rank 一 . Tucker 分解公式介绍和原理 我们先来看一张被使用过很多次的Trucker 分解图

欢迎来到 豪哥 的博客 1万+

CAS实现SSO单点登录-CAS Server 5.3搭建

    我们在之前的博文中讲解了CAS 4.0 Server的搭建过程,这篇博文我们来说了CAS5.3 Server的搭建过程,为什么要说一下CAS5.3的搭建过程呢,因为从cas4.2以上的代码做了一些框架的优化,4.2以下的版本的很多配置都是写在xml文件中。4.2以上统一提取到了cas.properties或者application.properties文件中;所以在去掉https的时候 方...

高级项目经理、专注于技术架构、分享项目管理及职场心得 1万+

Apache Hop环境搭建实战:从零到一的下载、安装与配置指南

本文详细介绍了Apache Hop环境搭建的全过程,包括下载、安装与配置指南。从选择正确的JDK17版本到设置关键环境变量,再到启动GUI界面和解决常见问题,提供了全面的实战指导。适合数据工程师和ETL开发者快速上手这一强大的数据集成工具。

weixin_42634811的博客 574

关于42步进电机驱动——基于STM32 HAL库实现

我找了好多资料,好多关于42步进电机的都是文档,这么文档都需要积分,需要积分就算了内容还非常差,浪费时间和电脑的内存。关于大部分是基于Arduino和51去驱动的 42步进电机驱动硬件如下: 首先你要了解步进电机的驱动原理,我也不啰嗦了,请看这边博客: 二相四线,四相五线,四相六线步进电机接线及驱动方法 , 看完这篇你就知道驱动和接线的原理了。 起初我也为如何接线烦恼,因为有些博客在讲述这些问题的时候没有讲的很透彻。 方法如下: ①用万用表调到欧姆档,用其中一个表笔搭在一个引脚上,依次测其它.

Jodan132的博客 1万+

CAS实现单点登录

1.简介 SSO单点登录 在多个相互信任的系统中,用户只需要登录一次就可以访问其他受信任的系统。 新浪微博与新浪博客是相互信任的应用系统。 *当用户首次访问新浪微博时,新浪微博识别到用户未登录,将请求重定向到认证中心,认证中心也识别到用户未登录,则将请求重定向到登录页。 *当用户已登录新浪微博访问新浪博客时,新浪博客识别到用户未登录,将请求重定向到认证中心,认...

heyeqingquan的博客 1万+

IEC 61400-1:2019 附录 C 湍流模型全面解读

IEC 61400-1:2019 附录 C 全面解读

weixin_46713695的博客 471

CAS单点登录原理

之前我们谈了如何关于单点登录的一些概述,讲到了当跨域名单点登录时,CAS的设计具有参考价值,那么这篇就该谈谈CAS的具体原理了。 CAS单点登录 CAS指的是Apereo的CAS开源项目,三个字母分别是是Central Authentication Service的首字母缩写。 官方地址: 网址:https://www.apereo.org/projects/cas git:https:...

not_easy的专栏 4121

Agent Harness Engineering: AI Agent 执行管控与安全沙箱 原理与最佳实践

我们正站在计算范式转移的历史节点上。2024-2026 年间,AI 系统从被动的内容生成器(Generative AI)演变为主动的行动执行者(Agentic AI)。这一转变的根本特征是:根据 2026 年初的行业数据:然而,能力的提升伴随着风险的指数级增长。2024-2026 年间发生的多起标志性安全事件揭示了 Agent 系统的脆弱性:案例 1:Slack AI 数据外泄事件(2024 年 8 月)案例 2:制造业供应链攻击(2026 年 Q3)案例 3:Arup 深度诈骗案(2026 年 9 月)这

AI天才研究院 1669

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

cas5.3.9单点登录-总结遇到的坑

cas5.3.9单点登录-总结遇到的坑前言cas简介术语解释Ticket Grangting Ticket(TGT)Ticket Granting Cookie(TGC)Service Ticket(ST)图解TGC与TGTServer与Client交互过程项目搭建项目文档项目二次开发项目二次开发遇到的问题SSL证书申请cas ticket过期策略cas client单机-单点退出cas clie......

神奇de旋风的博客 1万+

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

CAS实现SSO单点登录-CAS Server搭建

&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;最近公司连续接了三四个单点登录集成的项目,由我们公司提供CAS Server端的,也有需要我们把Client与其他公司提供的Server端对接的,我负责把我们公司的一个Client与另外一个公司提供的Server端对接,由于

高级项目经理、专注于技术架构、分享项目管理及职场心得 3万+

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

CAS 5.3.x 单点登录

最近在网上搜索CAS 单点登录及第三方授权登录的功能,网上一搜一大堆,使用到处都是坑,那么多抄袭的,我也只能苦笑。。。 自己动手丰衣足食,所有还是把自己的正确功能记录一下,给大家做个参考 Cas server 搭建 CAS提供了模板 Overlay Template,方便使用https://github.com/apereo/cas-overlay-template,当前版本是5.3.16,JDK 1.8+ IDEA导入下载的模板,暂时不修改任何熟悉,添加Tomcat 启动Cas Se..

Coder_Knight的博客 1452

springboot-cas单点登录

/1、 maven项目转为eclipse项目 进入到项目中,通过eclipse插件转为eclipse可以识别的maven项目。 mvn eclipse:eclipse 2、 将maven项目转为idea工具能识别的项目 进入到项目中,通过idea插件转为idea可以识别的maven项目。 转换前: 转换后如下: 3、单点登录 单点登录(Single Sign On),简称为 SSO,是目前...

奋斗的小鸟专栏 1万+

cas实现单点登录-cas5.3.x服务器端搭建,并在tomcat上运行

最近公司要做一个单点登录的东西,这里记录一下步骤方便记忆 首先:对cas不了解的可以先看下官方文档,或者看下github官网 然后开门见山,直接开始搭建 我的环境: windows 7 当然10也可以 tomcat 8 最少8以上 cas 5.3 其实5.x都行 java 8 最少8以上 如果是cas6.x官网要求jdk11,但是6.x还不完善,最好不要轻易尝试,出问题也没有博客可以解决 ...

WWXA 2775
上一篇: 算法挑战
下一篇: 二. CAS5.3X 单点登录-自定义风格主题开发
Jeffery Chan
博客等级 码龄10年 24粉丝 15原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值