最具影响力的数字化技术在线社区

迷了鹿 发表于 2018-2-26 15:48:36

[精华][推荐]SSO CAS单点登录框架学习 搭建详细步骤及源码

1.因为是本地模拟sso环境,而sso的环境测试需要域名,所以需要虚拟几个域名出来,步骤如下:
2.进入目录C:\Windows\System32\drivers\etc
https://static.oschina.net/uploads/img/201802/22213845_ZG25.png
3.修改hosts文件
127.0.0.1jeesz.cn
127.0.0.1sso1.jeesz.cn
127.0.0.1sso2.jeesz.cn
4.生成认证证书
注意:我们可以根据sso单点登录的架构图可以看到,在客户端和服务端进行交互的时候,是需要认证的,在这里我们使用jdk中的keytool方案生成证书(一般正式环境,使用正规机构颁发的证书,可以去购买)
(一)创建一个caskey目录,如:D:\sso-cas\caskey
(二)打开cmd的命令窗口:
https://static.oschina.net/uploads/img/201802/22213845_B8NF.png
(三)进入jdk bin的安装目录
https://static.oschina.net/uploads/img/201802/22213845_0MOx.png

(四)使用keytool -genkey -alias mycacerts -keyalg RSA -keystoreD:/sso-cas/caskey/keycard生成key
https://static.oschina.net/uploads/img/201802/22213846_BQci.png
https://static.oschina.net/uploads/img/201802/22213846_PsAf.png

注意:输入相关信息用于生成证书. 其中名字与姓氏使用你的域名,保持和C:\Windows\System32\drivers\etc\hosts 文件中映射域名相同,注意不要写成IP。
在这里我使用的口令是minglisoft(这个要记住,后面还会使用到)
名字姓氏使用的是jeesz.cn(对应host中的域名配置)
(五)使用命令keytool -export -file D:/sso-cas/caskey/keycard.crt -alias mycacerts -keystore D:/sso-cas/caskey/keycard导出证书:
https://static.oschina.net/uploads/img/201802/22213846_oBle.png
https://static.oschina.net/uploads/img/201802/22213846_bRKj.png

注意:口令为minglisoft
(六)将证书导入到 JDK 安装目录
Keytool -import -keystore C:/"Program Files"/Java/jdk1.8.0_131/jre/lib/security/cacerts-file D:/sso-cas/caskey/keycard.crt -alias mycacerts

备注:我已经帮忙生成了,最终要将cacerts拷贝到C:\Program Files\Java\jdk1.8.0_131\jre\lib\security目录即可
https://static.oschina.net/uploads/img/201802/22213846_KF0n.png
注意口令:minglisoft
https://static.oschina.net/uploads/img/201802/22213846_LG5y.png
5. 准备好服务端的tomcat容器,这里使用的是tomcat8进行测试(首先要保证tomcat启动后是可以运行的),如下:
https://static.oschina.net/uploads/img/201802/22213846_uDhp.png
6.修改server.xml文件,如下:
https://static.oschina.net/uploads/img/201802/22213846_aSb0.png
https://static.oschina.net/uploads/img/201802/22213846_v3KA.png
注意: 这里使用的是https的认证方式,需要将这个配置放开,并做如下修改:
<Connector
port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true"scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="D:/sso-cas/caskey/keycard"   
keystorePass="minglisoft"
/>
注意: keystoreFile="D:/sso-cas/caskey/keycard"--证书了路径
      keystorePass="minglisoft"--证书密码
7.测试https的8443端口是否可以访问:https://localhost:8443
https://static.oschina.net/uploads/img/201802/22213846_WNGx.png

https://static.oschina.net/uploads/img/201802/22213846_cWvl.png
配置没有问题
8.可以配置只通过域名访问,还是修改server.xml文件,将localhost的配置修改为jeesz.cn如下:
<Host name="localhost"appBase="webapps"
             unpackWARs="true" autoDeploy="true">
<Host name="jeesz.cn"appBase="webapps"
             unpackWARs="true" autoDeploy="true">
   重启tomcat容器,访问如下:http://jeesz.cn:8080
https://static.oschina.net/uploads/img/201802/22213846_xF5h.png
9.将cas-server-webapp-4.2.7.war包拷贝到tomcat容器中,并命名为cas.war如下:
https://static.oschina.net/uploads/img/201802/22213846_6MqF.png
https://static.oschina.net/uploads/img/201802/22213846_MmDU.png
10.重启启动tomcat容器,访问cas, https://jeesz.cn:8443/cas
默认用户名为:casuser
默认密码为:Mellon
https://static.oschina.net/uploads/img/201802/22213846_uWLH.png
https://static.oschina.net/uploads/img/201802/22213846_MDH9.png
以下是所有的cas sso单点登录交付件和源码
https://static.oschina.net/uploads/img/201802/22213846_9zAt.png


页: [1]
查看完整版本: [精华][推荐]SSO CAS单点登录框架学习 搭建详细步骤及源码