CAS5.2x单点登录(一)――搭建cas服务器

匿名 (未验证) 提交于 2019-12-03 00:20:01

单点登录的介绍



在5.0版本之前,cas使用的是ssh的那套框架来搞的,网上关于使用xml来配置的资料也是很多。前端也是使用jsp来弄的。所有的东西(连接数据库,自定义加密等等)一系列的东西都是通过写代码,然后在deployerConfigContext.xml里面进行bean的注入,这些我就不讲了,我主要讲的就围绕着5.0版本之后来讲吧,5.0版本之后的最大改变就是引入了现在比较流行的微服务架构也就是spring boot这套,他将之前使用bean注入的换成了spring boot的配置来弄了,以及增加了容器(docker)。网上对于5.0后的内容也是少之又少,因为最近公司让我做这块,然后研究了一阵子,将自己遇到的坑以及怎么一步步的完成设计的过程分享给大家。

工具



cas-overlay-template-5.2.1


首先还是从生成证书开始把,因为cas是需要域名的,而我们可以通过jdk中的keytool生成证书。

  1. 使用第一个命令:keytool -genkey -alias cas -keyalg RSA -validity 999 -keystore c:/etc/cas/thekeystore会出现如图界面,这时候会在c盘生成thekeystore文件。
  2. 继续下一个命令:keytool -export -file /etc/cas/config/cas.crt -keystore c:/etc/cas/thekeystore -alias cas
    keytool -import -file /etc/cas/config/cas.crt -alias cas -keystore %JAVA_HOME%/jre/lib/security/cacerts -storepass changeit,记住要加上jdk的默认密码,也就是-storepass changeit,这时候会出现下图所示,
    4.记住证书生成后记得要修改host文件,因为我们是自己生成的证书。修改host文件其实就是将本地的ip对应到你刚才输入的域名,也就是test.test.com

下载cas-overlay

进入这个链接去选择自己想下载的版本,我这边以5.2,也就是master
下载好以后,打开看以后应该是这样的目录结构,我们可以直接在里面打开命令行(cmd)运行mvn clean package来进行编译,因为我们这个编译出来的是war包,等pom的jar包下载完后以及编译成功后就会多出一个target文件夹,里面有cas的内容,我们只需要将cas.war(或者直接将cas的文件夹放到tomcat的webapp并启动tomcat)这时候我们访问test.test.com:8080/cas/login就能看到如下的页面,这时候基本的就完成了,这时候就有人问那前面生成的证书也没什么用啊,没错,我们现在的确是没有用到证书,所以这上面不是有两个提醒吗,第一个就是因为我们使用的是http而不是https,所以我们要去配置tomcat。找到tomcat里面的conf中的server.xml将

 <Connector port="8080" protocol="HTTP/1.1"                connectionTimeout="20000"                redirectPort="8443" />改成下面的                 <Connector            protocol="org.apache.coyote.http11.Http11NioProtocol"            port="8080" maxThreads="200"            scheme="https" secure="true" SSLEnabled="true"            keystoreFile="c:\etc\cas\thekeystore" keystorePass="123456"            clientAuth="false" sslProtocol="TLS"/>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

,这时候重新启动tomcat,然后继续按刚才的去访问,发现找不到,因为我们之前使用的是http,现在换成https了,你只要加入https就可以出现这个画面:

剩下的我们就是登录进去,默认的用户名和密码是casuser:Mellon,登录进去就是这个页面
好了,今天的就到这儿把,下次继续将如何使用动态的数据库以及自定义登录验证还有restful请求都写一下

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!