设为首页 收藏本站
查看: 752|回复: 0

[经验分享] cas + tomcat整合SSO

[复制链接]

尚未签到

发表于 2017-1-20 07:03:42 | 显示全部楼层 |阅读模式
  最近学习了一下CAS SSO方面的东西,整合了CAS 在TOMCAT 下面运行。下面介绍整合步骤
1 下载服务端CAS运行WAR
http://www.jasig.org/cas/download/
下载cas-server-webapp-3.3.2.war
2 下载客户端JAR casclient-2.1.1.jar
http://mirrors.ibiblio.org/pub/mirrors/maven2/cas/casclient/2.1.1/casclient-2.1.1.jar
3.配置服务器端的数字证书
  1.生成数字证书
   keytool -genkey -alias zhouhui -keyalg RSA
  2.导出数字证书
   keytool -export -alias zhouhui -file server.crt
  3.将数字证书导入jre的可信区
   keytool -import -trustcacerts -alias zhouhui -file server.crt -keystore %java_home%/jre/lib/security/cacerts
  其他的一些命令:
    查看可信证书列表(检查证书是否加入成功)
    ./keytool -list -keystore ../jre/lib/security/cacerts
    常用命令:
-genkey 在用户主目录中创建一个默认文件".keystore",还会产生一个mykey的别名,mykey中包含用户的公钥、私钥和证书
-alias 产生别名
-keystore 指定密钥库的名称(产生的各类信息将不在.keystore文件中
-keyalg 指定密钥的算法
-validity 指定创建的证书有效期多少天
-keysize 指定密钥长度
-storepass 指定密钥库的密码
-keypass 指定别名条目的密码
-dname 指定证书拥有者信息例如: "CN=firstName,OU=org,O=bj,L=bj,ST=gd,C=cn"
-list 显示密钥库中的证书信息 keytool -list -v -keystore 别名 -storepass ....
-v 显示密钥库中的证书详细信息
-export 将别名指定的证书导出到文件 keytool -export -alias 别名 -file 文件名.crt
-file 参数指定导出到文件的文件名
-delete 删除密钥库中某条目 keytool -delete -alias 别名 -keystore sage
-keypasswd 修改密钥库中指定条目口令 keytool -keypasswd -alias 别名 -keypass .... -new .... -storepass ... -keystore 别名
-import 将已签名数字证书导入密钥库 keytool -import -alias 别名 -keystore 证书名-file 文件名(可以加.crt 后缀)
  操作步骤说明:
   运行---CMD---DOS窗口
   找到JDK安装的路径下面如我的:D:\software\Java\jdk1.6.0_03
  到BIN 目录下会看到keytool.exe
  在BIN 目录下执行
    keytool -genkey -alias zhouhui -keyalg RSA
   生成数字证书
    其中alias 后面是数字证书别名 可以输入一个
   运行后,执行会提示你输入主机名或者域名作为证书名称(CN),填写好后,后面运行的域名就是你填写的那个
如"tomcat" 那么之后你访问的时候就是http://tomcat:8081/examples/servlet/servlet/HelloWorldExample
   后面一路回车就好了,填写入密码changeit
  2.导出数字证书
    keytool -export -alias zhouhui -file server.crt
  3.将数字证书导入jre的可信区
   keytool -import -trustcacerts -alias zhouhui -file server.crt -keystore %java_home%/jre/lib/security/cacerts
   其中导入的cacerts 是你JDK 环境变量中填写的JDK
   如:D:\software\Java\jdk1.6.0_03\jre\lib\security 下面会有cacerts 改写
   同时C:\Documents and Settings\Administrator下会有个
   .keystore 隐藏文件生成
4.部署程序到TOMCAT
  1.讲解压的cas-server-webapp-3.3.2.war复制到tomcat的webapps
  2.配置TOMCAT 安全的https
    tomcat的conf目录下修改server.xml
    打开server.xml
    修改
Xml代码
Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"   
              maxThreads="150" scheme="https" secure="true"   
              clientAuth="false" sslProtocol="TLS"   
              keystoreFile="conf/.keystore"                         keystorePass="changeit"                            truststoreFile="D:\software\Java\jdk1.6.0_03\jre\lib\security\cacerts"  
              />      
其中 keystoreFile="conf/.keystore" 是证书库
    keystorePass="changeit" 是证书密码
    truststoreFile="D:\software\Java\jdk1.6.0_03\jre\lib\security\cacerts"
    是Jre的可信区(是你运行的JDK运行的授信JDK,TOMCAT运行需要的JDK)
3.将之前生成的证书库
  C:\Documents and Settings\Administrator\.keystore
  复制到TOMCAT conf目录下
4.修改客户端测试代码
   修改tomcat 自带的例子webapps\examples
   1.复制之前下载的casclient-2.1.1.jar,commons-logging.jar(其他项目中找个一个日子JAR)复制到webapps\examples\lib下面
    2.修改 web.xml
    webapps\examples 下面修改WEB.XML
   
Xml代码
filter>   
filter-name>CAS Filterfilter-name>   
filter-class>edu.yale.its.tp.cas.client.filter.CASFilterfilter-class>   
init-param>   
  param-name>edu.yale.its.tp.cas.client.filter.loginUrlparam-name>   
  param-value>https://tomcat:8443/cas-server-webapp-3.3.2/loginparam-value>   
init-param>   
init-param>   
  param-name>edu.yale.its.tp.cas.client.filter.validateUrlparam-name>   
  param-value>https://tomcat:8443/cas-server-webapp-3.3.2/serviceValidateparam-value>   
init-param>   
init-param>   
  param-name>edu.yale.its.tp.cas.client.filter.serverNameparam-name>   
  param-value>tomcat:8081param-value>   
init-param>   
filter>   
filter-mapping>   
filter-name>CAS Filterfilter-name>   
url-pattern>/servlets/servlet/HelloWorldExampleurl-pattern>   
filter-mapping>      
CAS Filter
edu.yale.its.tp.cas.client.filter.CASFilter

  edu.yale.its.tp.cas.client.filter.loginUrl
  https://tomcat:8443/cas-server-webapp-3.3.2/login


  edu.yale.its.tp.cas.client.filter.validateUrl
  https://tomcat:8443/cas-server-webapp-3.3.2/serviceValidate


  edu.yale.its.tp.cas.client.filter.serverName
  tomcat:8081



CAS Filter
/servlets/servlet/HelloWorldExample

  其中 tomcat 就是访问的域名
5.修改HOST
   c:/windows/system32 下面修改HOSTS
   打开 添加
   127.0.0.1       tomcat
   说明 tomcat 就是之前生成数字证书,中填入的域名
6.发布。
   启动tomcat
   运行
http://tomcat:8081/examples/servlets/servlet/HelloWorldExample
跳转服务端登录画面,输入用户名 密码跳转 HELLO WORLD 配置成功

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-330808-1-1.html 上篇帖子: eclipse+tomcat开发环境配置 下篇帖子: Tomcat下代码加密
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表