搭建Cas服务

2023-05-16

环境要求

  • JDK 1.8
  • CAS 5.3
  • tomcat 9

1、cas项目下载地址:

https://github.com/apereo/cas-overlay-template/tree/5.3

2、使用idea导入cas-overlay-template-5.3项目引入所需mysql、rest、jdbc等jar包并打包

<dependency>
                    <groupId>org.apereo.cas</groupId>
                    <artifactId>cas-server-support-jdbc</artifactId>
                    <version>${cas.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.apereo.cas</groupId>
                    <artifactId>cas-server-support-jdbc-drivers</artifactId>
                    <version>${cas.version}</version>
                </dependency>
                <dependency>
                    <groupId>mysql</groupId>
                    <artifactId>mysql-connector-java</artifactId>
                    <version>5.1.36</version>
                </dependency>
                <dependency>
                    <groupId>org.apereo.cas</groupId>
                    <artifactId>cas-server-support-rest</artifactId>
                    <version>${cas.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.apereo.cas</groupId>
                    <artifactId>cas-server-core-configuration</artifactId>
                    <version>${cas.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.apereo.cas</groupId>
                    <artifactId>cas-server-core-authentication</artifactId>
                    <version>${cas.version}</version>
                </dependency>
                <dependency>
                    <groupId>org.apache.shiro</groupId>
                    <artifactId>shiro-core</artifactId>
                    <version>1.4.0</version>
                </dependency>
                <dependency>
                    <groupId>javax.servlet</groupId>
                    <artifactId>javax.servlet-api</artifactId>
                    <version>3.1.0</version>
                </dependency>
                <dependency>
                    <groupId>org.apereo.cas</groupId>
                    <artifactId>cas-server-core-webflow</artifactId>
                    <version>${cas.version}</version>
                </dependency>

3、打包成功后会在cas-overlay-template-5.3目录下生成target文件,

3.1、打开cas-overlay-template-5.3\target\cas\WEB-INF\classes修改application.properties在后面追加下面代码;

#cas.authn.accept.users=casuser::Mellon
cas.tgc.secure=false
cas.serviceRegistry.initFromJson=true

#Query Database Authentication 数据库查询校验用户名开始

#数据库连接
cas.authn.jdbc.encode[0].url=jdbc:mysql://192.168.x.xxx:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false
cas.authn.jdbc.encode[0].driverClass=com.mysql.jdbc.Driver
cas.authn.jdbc.encode[0].user=root
cas.authn.jdbc.encode[0].password=root
cas.authn.jdbc.encode[0].sql=SELECT * FROM sys_user WHERE username =?
#加密迭代次数
cas.authn.jdbc.encode[0].numberOfIterations=2
#该列名的值可替代上面的值,但对密码加密时必须取该值进行处理
cas.authn.jdbc.encode[0].numberOfIterationsFieldName=
#盐值列
cas.authn.jdbc.encode[0].saltFieldName=salt

#对处理盐值后的算法
cas.authn.jdbc.encode[0].algorithmName=SHA-256
cas.authn.jdbc.encode[0].passwordFieldName=password
cas.authn.jdbc.encode[0].expiredFieldName=expired
cas.authn.jdbc.encode[0].disabledFieldName=disabled

 3.2、打开cas-overlay-template-5.3\target\cas\WEB-INF\classes\services修改HTTPSandIMAPS-10000001.json

{
  "@class" : "org.apereo.cas.services.RegexRegisteredService",
  "serviceId" : "^(https|http|imaps)://.*",
  "name" : "HTTPS and IMAPS",
  "id" : 10000001,
  "description" : "This service definition authorizes all application urls that support HTTPS and IMAPS protocols.",
  "evaluationOrder" : 10000
}

 4、把target下的cas文件放到tomcats的webapps目录下并双击startup.bat启动tomcat

 5、盐值密码加密

import org.apache.shiro.crypto.RandomNumberGenerator;
import org.apache.shiro.crypto.SecureRandomNumberGenerator;
import org.apache.shiro.crypto.hash.DefaultHashService;
import org.apache.shiro.crypto.hash.HashRequest;
import org.junit.Test;

public class PasswordSaltTest {

    @Test
    public void test(){
        String passWord = "123456";
        DefaultHashService hashService = new DefaultHashService();
        hashService.setHashAlgorithmName("SHA-256");
        Long numOfIterations = 2L;
        hashService.setHashIterations(numOfIterations.intValue());
        RandomNumberGenerator randomNumberGenerator = new SecureRandomNumberGenerator();
        String salt = randomNumberGenerator.nextBytes().toHex();
        HashRequest hq = new HashRequest.Builder()
                .setSalt(salt)
                .setSource(passWord)
                .build();
        String digestedPassWord = hashService.computeHash(hq).toHex();
        System.out.println("加密后的密码:" + digestedPassWord);
        System.out.println("加密的盐:" + salt);
    }

}

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

搭建Cas服务 的相关文章

  • 轻松搭建CAS 5.x系列(1)-使用cas overlay搭建SSO SERVER服务端

    概要说明 cas的服务端搭建有两种常用的方式 xff1a 1 基于源码的基础上构建出来的 2 使用WAR overlay的方式来安装 官方推荐使用第二种 xff0c 配置管理方便 xff0c 以后升级也容易 本文就是使用第二种方式 安装步骤
  • CAS 5.2.X 使用cas-overlay-template 搭建cas-server

    1 下载 cas overlay template 地址 xff1a https github com apereo cas overlay template 选择需要的版本 xff1a cas 6 x开始使用gradle构建 xff0c
  • 实战:CAS搭建

    一 CAS服务器的搭建 1 下载CAS服务器的源码 xff0c 我下载的是CAS Maven WAR Overlay 的分支4 2 X版本 注 xff1a 如若不想了解查找下载地方过程 xff0c 请直接参见 xff08 3 xff09 的
  • 数据库锁机制和CAS概念

    这个作者介绍比较清晰 https www cnblogs com X knight p 10669934 html 64 勋爵
  • 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-server服务端搭建

    1 下载cas服务代码 xff0c https github com apereo cas overlay template tree 5 3 2 使用idea工具打开cas overlay template 5 3包 xff0c 使用ma
  • CAS 服务端的搭建

    上文讲了CAS客户端 xff0c 本文记录CAS Server的搭建步骤 CAS Server的版本一定要选好 xff0c 我选的是CAS5 3 xff0c Java版本用的8 xff0c 目前最新的CAS6 5的Java版本最低是11了
  • cas 配置相关

    默认配置 span class token comment span span class token comment CAS Cloud Bus Configuration span span class token comment sp
  • CAS 未认证授权服务 不允许使用CAS来认证您访问的目标应用

    资源环境 CAS服务端 CAS 5 3 2 服务端 CAS客户端 Spring Boot CAS 客户端 访问过程 1 CAS 客户端访问本地项目指定端口 http localhost 9100 cas index 2 CAS 客户端调整至
  • SpringBoot 搭建CAS 客户端 和CAS 服务端

    第一步 搭建CAS5 3 服务端 Github 下载CAS5 3 服务端版本 https github com apereo cas overlay template tree 5 3 注意 最新的master分支使用的需要java11 该
  • spring mvc配置cas客户端

    1 在WEB INF lib中导入cas jar包 点击打开链接 2 导入证书 1 将证书server cer文件拷贝至业务系统所在服务器上的某路径下 如c盘根目录 在cmd命令界面切换至证书所在路径 执行以下命令 jdk路径自行修改 并信
  • 单点登录CAS学习(二):使用IDEA搭建cas-overlay-5.3工程

    上一篇对于单点登陆进行了初步了解 我们做单点登录应用的时候 会有两个场景 单点登录的服务端 单点登录的客户端 指各个应用系统 从本篇开始的系列文章将分别介绍服务端的工程如何搭建 客户端如何改造以适用于单点登录 首先从服务端开始 我们往往需要
  • 真实业务场景展现CAS原理的ABA问题及解决方案

    文章目录 阅读提示 CAS原理 ABA问题介绍 真实业务场景 如何解决ABA问题 CAS学习总结 阅读提示 本文将借助开保险柜的业务场景重点阐述误用AtomicBoolean引起的ABA问题 以及解决方案 基于此 请先深入理解CAS原理 以
  • cas 5.2.0登陆界面添加验证码和校验功能

    本文分为4个部分 1 登录界面添加验证码 2 自定义登录对象 增加一个验证码字段 3 自定义cas的登录流程 完成自定义校验 4 返回自定错误信息 1 配置验证码 生成验证码 使用google的kaptcha 需引入jar的包如下
  • 面试必问的 CAS ,要多了解

    前言 CAS Compare and Swap 即比较并替换 实现并发算法时常用到的一种技术 Doug lea大神在java同步器中大量使用了CAS技术 鬼斧神工的实现了多线程执行的安全性 CAS的思想很简单 三个参数 一个当前内存值V 旧
  • 使用 Grails Spring Security CAS 插件重定向循环

    我正在处理一个涉及 CAS 服务器的项目 该项目使用单点登录 SSO 与其他基于 Spring 的项目一起使用 但我收到了涉及 Grails spring security cas 插件的重定向循环 版本 spring security C
  • 如何将 AngularJS 路由与 CAS 身份验证重定向一起使用,或者 Angular 不可用?

    我的应用程序通常使用以下路由 http angularapp com page bannanas http angularapp com page bannanas 但是 如果用户未经过身份验证 则用户将被重定向到 CAS 登录页面 然后登
  • jasig cas 重定向过多问题

    我正在尝试使用 spring security 和 spring security cas 带有 Jasig CAS 的 SSO 来保护 spring boot Web 应用程序 尝试访问受保护的资源时 我遇到了太多重定向错误 该项目可用h
  • 浏览器不遵循 AJAX 响应的重定向(PHP 生成的响应使用 CAS 身份验证)

    好吧 看来我最初的问题犯了一个错误 因此 这里有一些更正 答案仍然适用 因为当协议更改为 HTTPS SSL 时 第二个重定向就会停止 就我而言 重定向发生了多次 并且浏览器不遵循第二次重定向 遵循第一个重定向 但返回错误 我一直读到包含重
  • 使用 Spring Security 和 CAS 单点注销

    使用纯 Spring Java 配置 我在让 Spring 和 CAS 执行单点登录时遇到问题 我使用以下配置进行单点登录 我使用一个简单的 JSP 页面对 url 进行表单 POSThttps nginx shane com app lo

随机推荐