如何基于springboot构建cas最新版源码?

环境准备

  • 下载JDK21 https://download.oracle.com/java/21/archive/jdk-21.0.2_windows-x64_bin.zip
  • 下载gradle 8.5并配置环境变量 https://gradle.org/next-steps/?version=8.5&format=bin
  • 下载项目git clone http://gitlab.ruishan.cc/meta/anka-authentication.git

开始

  • 配置jdk
    在这里插入图片描述

  • 配置gradle
    在这里插入图片描述

  • 修改项目gradle地址,指向本地磁盘
    在这里插入图片描述

  • 等项目自动构建吧,没反应就,点击下build
    在这里插入图片描述

启动

  • 目前项目结构
    —anka-authentication //项目根
    --------authentication-jdbc //去数据库认证
    --------authentication-pac4j //对接第三方包,比如微信、钉钉、第三方身份源等
    --------authentication-rest //第三方接口认证
    --------authentication-service //应用对接数据库
    --------authentication-starter //启动包,新增的module都要在这个里面依赖一下
    --------gradle //gradle构建用的包括一些依赖
    -----------xxxx.gradle //高级用法,了解不深
    --------build.gradle // 本项目构建
    --------gradle.properties // 所有依赖版本号

  • 项目启动类 CasWebApplication.java

  • 配置文件 resources/application.properties

  • 前端文件 resources/templates

打包

  • 执行package命令
    在这里插入图片描述

  • 可执行jar包会输出到 authentication-starter/build/libs/authentication-starter-7.0.4.jar

如何新增功能

  • 查看cas7.0.4源码 gitlab已上传 https://gitlab.ruishan.cc/yangyuanliang/cas
  • 找到你想要新的功能对应的模块
  • 在当前项目中新增或者已有module中添加依赖
  • 依赖都要在对应module的build.gradle中添加
  • 查看cas源码找到对应模块的测试类。
  • 把测试类的配置拷贝到 resources/application.properties
  • 启动测试就ok

github地址

https://github.com/Jacwo/anka-authentication

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/650969.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

UI问题 --- CardView和其它的控件在同一布局中时,始终覆盖其它控件

原本代码&#xff1a; <?xml version"1.0" encoding"utf-8"?> <LinearLayout xmlns:android"http://schemas.android.com/apk/res/android"android:layout_width"40dp"android:layout_height"wrap_content"andr…

for循环绑定id,更新html页面的文字内容

需求&#xff1a;将方法中内容对齐 实现方式 给for循环中每个方法添加一个动态的id在DOM结果渲染完后&#xff0c;更新页面数据&#xff0c;否则会报错&#xff0c;找不到对应节点或对应节点为空 <view v-for"(item, index) in itemList" :key"index"…

Java面试八股之Synchronized锁升级的原理

Synchronized锁升级的原理 Synchronized锁升级是Java为了提高并发性能而引入的一项优化措施&#xff0c;这一机制主要发生在JDK 1.6及之后的版本中。Synchronized锁升级旨在减少锁带来的性能开销&#xff0c;通过从低开销的锁逐步升级到高开销的锁&#xff0c;以适应不同的竞争…

Swagger测试接口,请求头添加token

概述Swagger 1、概述 在日常开发中&#xff0c;我们的业务需要用户登录&#xff0c;权限控制。但是在某些情况下我们使用Swagger测试接口&#xff0c;部分接口需要携带token&#xff0c;才能访问&#xff0c;就需要在swagger添加token窗口。 效果图&#xff1a; 由 右上角 A…

统计计算四|蒙特卡罗方法(Monte Carlo Method)

系列文章目录 统计计算一|非线性方程的求解 统计计算二|EM算法&#xff08;Expectation-Maximization Algorithm&#xff0c;期望最大化算法&#xff09; 统计计算三|Cases for EM 文章目录 系列文章目录一、基本概念&#xff08;一&#xff09;估算 π \pi π&#xff08;二&…

现代 c++ 三:移动语义与右值引用

移动语义很简单&#xff0c;但它相关联的术语很复杂。本文尝试从历史的角度解释清楚这些乱七八糟的术语及其关联&#xff1a; 表达式 (expression)、类型&#xff08;type&#xff09;、值类别 (value categories)&#xff1b; 左值 (lvalue)、右值 (rvalue)、广义左值 (glval…

【WEB前端2024】开源智体世界:乔布斯3D纪念馆-第30课-门的移动动画

【WEB前端2024】开源智体世界&#xff1a;乔布斯3D纪念馆-第30课-门的移动动画 使用dtns.network德塔世界&#xff08;开源的智体世界引擎&#xff09;&#xff0c;策划和设计《乔布斯超大型的开源3D纪念馆》的系列教程。dtns.network是一款主要由JavaScript编写的智体世界引擎…

UML-系统架构师(二)

1、UML&#xff08;Unified Modeling Language&#xff09;是面向对象设计的建设工具&#xff0c;独立于任何具体程序设计语言&#xff0c;以下&#xff08;&#xff09;不属于UML中的模型。 A用例图 B协作图 C活动图 DPAD图 解析&#xff1a; UML一共14种图 结构图&…

【传知代码】私人订制词云图-论文复现

文章目录 概述原理介绍核心逻辑1、选取需要解析的txt文档2、选取背景图明确形状3、配置停用词4、创建分词词典&#xff0c;主要解决新的网络热词、专有名词等不识别问题 技巧1、中文乱码问题&#xff0c;使用的时候指定使用的文字字体2、更换背景图3、词库下载以及格式转换方式…

vscode在Ubantu键位错乱问题

摘要&#xff1a;抄的vscode键位错乱_有没有在使用vscode时偶尔遇到退格键无法正常删除内容的情况?如果有的话,你是如何-CSDN博客 只是作为记录&#xff0c;查找方便

ThreadLocal一步梭哈

大家好&#xff0c;这里是教授.F 引入&#xff1a; 1. ThreadLocal 的作用&#xff0c;可以实现在同一个线程数据共享, 从而解决多线程数据安全问题. 2. ThreadLocal 可以给当前线程关联一个数据(普通变量、对象、数组)set 方法[源码!] 3. ThreadLocal 可以像 Map 一样存取数据…

vue3中表格中通过判断某个字段来设置对应按钮和消息提示的disabled展示

vue3中表格中通过判断某个字段来设置对应按钮和消息提示的disabled展示 一、前言1.代码案例2.效果展示 一、前言 当使用 Vue 3 和 Element UI 的 el-table 组件时&#xff0c;你可以通过判断字段的值来设置对应的 el-button 的 disabled 属性和消息提示。下面是一个简单的示例…

机器学习之朴素贝叶斯

目录 前言 1、核心思想 2、应用领域 一、数学基础 二、贝叶斯 三、朴素贝叶斯 1、定义 2、拉普拉斯平滑系数 四、API 1、API 2、案例 五、总结 前言 朴素贝叶斯&#xff08;Naive Bayes&#xff09;是一种基于贝叶斯定理和特征条件独立性假设的常见的机器学习分类算…

Bug:Linux用户拥有r权限但无法打开文件【Linux权限体系】

Bug&#xff1a;Linux用户拥有r权限但无法打开文件【Linux权限体系】 0 问题描述&解决 问题描述&#xff1a; 通过go编写了一个程序&#xff0c;产生的/var/log/xx日志文件发现普通用户无权限打开 - 查看文件权限发现该文件所有者、所有者组、其他用户均有r权限 - 查看该日…

如何免费把微信视频号的视频下载下来?电脑手机都可使用

今天&#xff0c;我将为大家分享一个实用的技巧&#xff1a;如何免费将微信视频号的视频下载下来。 微信视频号作为一个流行的短视频平台&#xff0c;拥有大量优质内容。然而&#xff0c;由于平台政策限制&#xff0c;我们无法直接下载视频。不过&#xff0c;别担心&#xff0…

单点登录(JWT实现)

单点登陆的英文名是&#xff1a;Single Sign On&#xff08;简称SSO&#xff09;&#xff0c;只需要登陆一次&#xff0c;就可以访问所有信任的应用系统。 在单体项目中&#xff0c;我们登陆之后可以把验证用户信息的值放入session中&#xff0c;单个tomcat中的session是可以共…

数字水印 | 离散余弦变换 DCT 基本原理及 Python 代码实现

目录 1 基本原理2 代码实现3 图像压缩 1 基本原理 参考博客&#xff1a;https://www.cnblogs.com/zxporz/p/16072580.html D C T \mathsf{DCT} DCT 全称为 D i s c r e t e C o s i n e T r a n s f o r m \mathsf{Discrete\ Cosine\ Transform} Discrete Cosine Transfo…

堆结构知识点复习——玩转堆结构

前言:堆算是一种相对简单的数据结构&#xff0c; 本篇文章将详细的讲解堆中的知识点&#xff0c; 包括那些我们第一次学习堆的时候容易忽略的内容&#xff0c; 本篇文章会作为重点详细提到。 本篇内容适合已经学完C语言数组和函数部分的友友们观看。 目录 什么是堆 建堆算法…

蓝桥杯2023(十四届)省赛——接龙数列(DP)

接龙数列&#xff08;DP&#xff09; 1.接龙数列 - 蓝桥云课 (lanqiao.cn) 琢磨半天&#xff0c;本来是开一个三维的&#xff0c;dp[i][j][k] 表示 前i个&#xff0c;以j为首项&#xff0c;k为尾项的最大子集个数&#xff0c;但是实际上用二维即可。想求的是删除个数&#xf…

java并发工具类都有哪些

Java中的并发工具类包括&#xff1a; CountDownLatch CountDownLatch允许一个或多个线程等待其他线程完成某些操作。它通常用于线程间的同步&#xff0c;例如在一个线程完成其工作后通知其他线程继续执行。 CyclicBarrier CyclicBarrier是一个同步辅助类&#xff0c;它允许一…