搭建cas服务器

一、编译

1. 下载最新版的cas : https://codeload.github.com/apereo/cas/zip/v5.0.10

2. 解压代码(没有安装gradle环境的需要先安装gradle环境)

    进入  F:\安装包\cas-5.0.10\cas-5.0.10\webapp\cas-server-webapp, 执行 gradle build

    进入 F:\安装包\cas-5.0.10\cas-5.0.10\support\cas-server-support-jdbc,执行 gradle build

3. 生成证书

  使用jdk的keytool生成证书,生产环境需要到证书服务中心申请,进入 C:/Program Files/Java/jdk1.8.0_131/bin (这个jdk的目录,根据自己安装的jdk定) ,密码统一设置为 changeit

    # 生成

    keytool -genkey -alias sso_server -keypass changeit -keyalg RSA -keystore sso_server.keystore

    # 导出

    keytool -export -alias sso_server -keypass changeit -file sso_server.crt -keystore sso_server.keystore

    # 导入 (导入前先备份cacerts文件,以防万一)

    keytool -import -alias sso_server -file sso_server.crt -keypass changeit -keystore "C:/Program Files/Java/jdk1.8.0_131/jre/lib/cacerts"

4. 部署到tomcat

修改tomcat目录下conf/server.xml ,新增https配置,keystoreFile为上面生成的证书

图1

将上面编译成功的 cas-server-webapp-5.0.10.war 改名为cas.war, 放到tomcat的webapps目录下,启动tomcat

在浏览器输入https://localhost:8443/, 出现tomcat的页面,说明http配置成功

在浏览器输入https://localhost:8443/cas/login, 出现cas登录页面,说明cas部署成功

5. 配置数据源

新建数据库 sso_test, 创建表 

CREATE TABLE `users` (

`id`  int(11) NOT NULL ,

`username`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,

`password`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,

PRIMARY KEY (`id`)

)

ENGINE=InnoDB

DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci

ROW_FORMAT=DYNAMIC

进入tomcat目录 webapps/cas/WEB-INF, 修改  deployerConfigContext.xml文件

新增数据源配置, 参考官方文档 配置数据库认证

图2

新增认证handler定义 : 

图3

cas.properties文件 新增配置

# 用于验证用户名和密码

cas.jdbc.authn.query.sql=select password from users where username=?

# == Basic database connection pool configuration ==

database.driverClass=com.mysql.jdbc.Driver

database.url=jdbc:mysql://172.16.8.147:3306/sso_test?useUnicode=true&characterEncoding=UTF-8

database.user=dba

database.password=123456

database.pool.minSize=6

database.pool.maxSize=18

# Maximum amount of time to wait in ms for a connection to become

# available when the pool is exhausted

database.pool.maxWait=10000

# Amount of time in seconds after which idle connections

# in excess of minimum size are pruned.

database.pool.maxIdleTime=120

# Number of connections to obtain on pool exhaustion condition.

# The maximum pool size is always respected when acquiring

# new connections.

database.pool.acquireIncrement=6

# == Connection testing settings ==

# Period in s at which a health query will be issued on idle

# connections to determine connection liveliness.

database.pool.idleConnectionTestPeriod=30

# Query executed periodically to test health

database.pool.connectionHealthQuery=select 1

# == Database recovery settings ==

# Number of times to retry acquiring a _new_ connection

# when an error is encountered during acquisition.

database.pool.acquireRetryAttempts=5

# Amount of time in ms to wait between successive aquire retry attempts.

database.pool.acquireRetryDelay=2000

拷贝 cas-server-support-jdbc-5.0.10.jar (上面用gradle build生成的文件)到webapps/WEB-INF/lib目录

拷贝 mysql-connector-java-5.1.41.jar(这个需要自己下载) 到webapps/WEB-INF/lib目录

重启tomcat,打开 https://localhost:8443/cas/login, 输入数据库配置的用户名+密码,登录成功,说明数据库配置成功。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 搭建CAS服务器# cas的版本比较多,先在网上搜了一下各种教程配置经验。本来想搭建最新的CAS版本,然而为了快速...
    Dapianzi_灰灰鸽阅读 1,837评论 2 0
  • 【环境说明】: 本文演示过程在同一个机器上的(也可以在三台实体机器或者三个的虚拟机上),环境如下: windows...
    yljava阅读 9,327评论 3 8
  • 服务器https配置 配置https操作说明文档 1、查看服务器环境配置(tomcat和apache合并使用) 2...
    南京杨小兵阅读 8,919评论 0 9
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,868评论 18 139
  • JEESZ分布式框架单点登录集成方案 第一节:单点登录简介 第一步:了解单点登录 SSO主要特点是: SSO应用之...
    ITsupuerlady阅读 717评论 0 0