cas服务器源码,cas服务器搭建(示例代码)

一、CAS是Central Authentication Service的缩写,中央认证服务,一种独立开放指令协议。CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 12 月正式成为 JA-SIG 的一个项目。

8ddfbb5e394f47fba86e9ebdd1569878.jpg

二、cas中央认证服务器,我们在使用的时候用来作为单点登录的方式,这里主要是搭建中央认证服务器。cas存在3中访问协议,https、http、imaps。但是cas默认使用的是https的访问方式。http需要做一些配置,这里主要是说明cas搭建需要涉及的问题。接下来会说明如果修改。

四、使用idea打开项目

1)默认会下载cas-server-webapp-tomcat-5.3.8.war的依赖

5df857d9b5f041d48d35146fcf9352f4.jpg

2)war中的内容为

7a51ed0662a7452fb64aaf497e753746.jpg

五、修改参数打cas.war

1)修改账户信息:application.properties

默认:

785fa64184c04283b4714cfde96e12d5.jpg

根据自己需要进行修改,我这里修改为admin::admin

2)如果我们要支持http的客户端,需要设置一下内容

http:

a、HTTPSandIMAPS-10000001.json

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

在serviceId中加入http

0b9cf4ead9c846688ddf322b898b66be.jpg

b、在application.properties加入

#http时使用

cas.tgc.secure=false

#开启JSON文件的识别cas.serviceRegistry.initFromJson=true

3)maven打包

c76e30bb6a5b47628f2892ed777538c6.jpg

六、运行

e67b16c156b243bdb698d1f2fec0d6a1.jpg

七、https协议

1)这里使用的是jdk自带的keytool证书来实现验证,实际中可以自己申请证书。这里主要是为了测试,使用linux的环境测试

2)默认还是要加入设置

#开启json数据识别

cas.serviceRegistry.initFromJson=true

如果需要支持http:

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

在serviceId中加入http

0b9cf4ead9c846688ddf322b898b66be.jpg

3)生成证书(这里用的是相对路径,cas.keystore,密码自己set)

keytool -genkey -alias cas -keyalg RSA -keystore cas.keystore -storepass changeit

d8bda0a7ff914ed5b675f4a4ff11ba94.jpg

备注:如果域名不一样会导致无限重定向

4)导出证书

keytool -export -file cas.crt -alias cas -keystore cas.keystore -storepass changeit

dd66397beb5a4a55b87638b5513905ec.jpg

a270b0672edb4680a0461c9fb49bb91b.jpg

4)导入jdk(默认是不需要导入的,只是在进一步验证的时候需要导入)

keytool -import -keystore "/usr/java/jdk1.8.0_192/jre/lib/security/cacerts" -file cas.crt -alias cas -storepass changeit

64ceb466737543d7b7a0efff412b6374.jpg

5)删除证书(cas为设置的别名,这里不做删除)

keytool -delete -alias cas -keystore "/usr/java/jdk1.8.0_192/jre/lib/security/cacerts" -storepass changeit

294c61e4ef3f4641bdae67820f167836.jpg

6)配置tomcat的server.xml

68e20c44005648a099d7e5ac34dc71c1.jpg

注释8080端口

7)启动项目测试

04e8eb3f8dfa4e3189f7bf7abdc52404.jpg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值