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

[经验分享] CAS 配置(基于tomcat 6)

[复制链接]

尚未签到

发表于 2018-12-2 11:57:32 | 显示全部楼层 |阅读模式
CAS 配置(基于tomcat 6) (还没时间仔细看)
分类: Java2010-03-13 11:324640人阅读评论(2)收藏举报tomcat服务器serverauthenticationfiltervalidation  CAS 配置(基于tomcat 6)
  需要包资源:
  a)cas-server-3.3.5-release
  b)apache-tomcat-6.0.24-windows-x86.zip
  c)cas-client-2.0.11.zip,后面我用了CAS-CLIENT-3.1.3版本,支持登出功能
  第一步:配置CAS服务器环境
  1,在企业内部网内该预备cas服务器主机中搜索hosts文本文件,添加域名映射对 ip
  Lin(这里是我的主机名称,就是完整计算机名称,改下就可,不改就用localhost)
  2,再客户主机中搜索hosts文本文件,添加相应cas服务器域名映射信息
  3,部署CAS3服务器端所需得ssl环境生成
  预备生成文件: cacerts server.keystore client.keystore
  server.cer client.cer
  生成服务器端库文件 (生成的时候,第一项name一定要写你的完整计算机名称,我的是lin)
  keytool -genkey -alias tomcat-server -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore
  导出服务器端证书
  keytool -export -alias tomcat-server -storepass changeit -file server.cer -keystore server.keystore
  生成客户端库文件
  keytool -genkey -alias tomcat-client -keyalg RSA -keypass changeit -storepass changeit -keystore client.keystore
  导出客户端证书
  keytool -export -alias tomcat-client -storepass changeit -file client.cer -keystore client.keystore
  导入服务器端证书
  keytool -import -trustcacerts -alias server -file server.cer -keystore cacerts -storepass changeit
  导入客户端证书
  keytool -import -trustcacerts -alias client -file client.cer -keystore cacerts -storepass changeit
  4将如上生成得cacerts server.keystore client.keystore
  server.cer client.cer文件分别拷贝到cas服务器以及应用客户端TOMCAT_HOME主目录以及JAVA_HOEM/jre/lib/security文件下(每个子系统的tomcat也要拷贝进去)
  5 解压下载的CAS SERVER 包,找到/cas-server-3.3.5-release/cas-server-3.3.5/modules下的cas-server-webapp-3.3.5.war,更名为cas3.war,拷贝到TOMCAT 的webapp目录下,tomcat启动时,会自动解压。
  配置好JDK1.6(CMD命令JAVA –version 要是配置的JDK版本,否则没配置好),部署好TOMCAT。
  这里就不多说了,再来部署CAS SERVER。
  先配置服务端TOMCAT SSL: 主题:Tomcat SSL配置大全
  先解压一个TOMCAT6,我是到C:/Program Files/目录下;进入tomcat目录的conf目录下,编辑server.xml,
  找到(默认的端口号不用改)
  
  
  CASFilter
  
  edu.yale.its.tp.cas.client.filter.CASFilter
  
  
  
  edu.yale.its.tp.cas.client.filter.loginUrl
  
  https://lin:8443/cas3/login
  
  
  
  edu.yale.its.tp.cas.client.filter.validateUrl
  
  
  https://lin:8443/cas3/proxyValidate
  
  
  
  
  edu.yale.its.tp.cas.client.filter.serverName
  
  lin:8080
  
  
  
  CASFilter
  /secure/*
  
  ------------------------------配置(1)结束-------------------------------------------
  -----------------------------------------以上的web.xml配置是客户端2.0.11版本,不支持登出功能---------------------------
  -----------------------------------------下面的web.xml配置是客户端3.3.版本,支持登出功能-----------------------------------
  
  
  
  CAS Single Sign Out Filter
  org.jasig.cas.client.session.SingleSignOutFilter
  
  
  CAS Single Sign Out Filter
  /*
  
  
  org.jasig.cas.client.session.SingleSignOutHttpSessionListener
  
  
  
  CAS Authentication Filter
  org.jasig.cas.client.authentication.AuthenticationFilter
  
  
  casServerLoginUrl
  https://lin:8443/cas3/login
  
  
  renew
  false
  
  
  gateway
  false
  
  
  
  serverName
  http://lin:8999
  
  
  
  
  CAS Validation Filter
  org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter
  
  casServerUrlPrefix
  
  https://lin:8443/cas3
  
  
  serverName
  http://lin:8999
  
  
  useSession
  true
  
  
  redirectAfterValidation
  true
  
  
  
  CAS HttpServletRequest WrapperFilter
  org.jasig.cas.client.util.HttpServletRequestWrapperFilter
  
  
  CAS Assertion Thread Local Filter
  org.jasig.cas.client.util.AssertionThreadLocalFilter
  
  
  CAS Authentication Filter
  /*
  
  
  CAS Validation Filter
  /*
  
  
  CAS HttpServletRequest WrapperFilter
  /*
  
  
  CAS Assertion Thread Local Filter
  /*
  
  
  ---------------------------------客户端配置(2)---------------------------------------
  第三步:定制自己的身份登录密码
  在服务端tomcat中,找到webapps/cas3/中的deployerConfigContext.xml,编辑:
  找到
  
  这是CAS默认身份认证,只要用户名和密码相同就可以登录,注释掉
  
  
  
  
  
  
  
  
  
  
  oracle.jdbc.driver.OracleDriver
  
  
  jdbc:oracle:thin:@10.175.183.118:1521:info
  
  
  prm
  
  
  prm
  
  
  
  
  
  同时要把链接自己数据库的ORACLE JAR包资源等,放入项目的LIB目录下。
  第四步:UI 的DIY设计
  提示:获取用户信息
  //2.0.11版本
  //HttpServletRequest request = ServletActionContext.getRequest();
  
  遇到的问题:
  (1)
  由于cas的证书需要域名才能正确的进行认证信息的交互,不支持ip,如果server和client在同一台机器上,可以使用localhost,如果像我们上面描述的三台服务器这样的环境,使用localhost或者ip是不能正常运行的。如果使用ip,运行时会抛出 HTTPS hostname wrong,如果客户端CAS过滤器没配好会返回no response 的错误。
  解决的方法如下:
  假设server1的ip为:192.168.10.1,client1的ip为192.168.10.2,开发机器(xp)的ip为:192.168.10.3
  在server1和client1上设置本机的域名映射:
  vi /etc/hosts 添加以下行
  192.168.10.1 cas.server (cas服务器所在的主机要加这个映射,同时客户机服务器主机要加上cas服务器名称和地址的映射,这很重要,不过这是针对HTTPS方式认证)
  在开发机器(xp)下,在C:/WINDOWS/system32/drivers/etc目录下,编辑hosts文件,添加以下行
  192.168.10.1 cas.server
  重新生成cas-sever的服务器端的证书,在开始问“你的名字”或“DName”的时候,必须填写你服务器所在域名(cas.server)
  然后重新到处服务器器端的证书,并将其导入到client1服务器的jvm
  最后修改servlets-examples/WEB-INF/web.xml中关于cas过滤器的配置:
  请将your.cas.server.name(eg:server1)修改为cas.server即可。重新启动server1和client1的服务器上的tomcat就可正常运行。
  ttp://client1:8080/servlets-examples/servlet/HelloWorldExample
  系统会自动跳转到一个验证页面,随便输入一个相同的账号,密码,验证通过之后就会访问
  到真正的HelloWorldExample这个servlet了
  (2)取消cas服务器HTTPS认证,去除浏览器的警告,也就是用http认证(降低安全性)
  Cas服务器用cas-server-3.3.1-release.zip,cas客户端用cas-client-3.1.3-release.zip,他们的配置我就不说了,上面都有详细说明。
  A.服务器端更改:
  配置文件: $WebRoot/WEB-INF/sprint-configuration/ticketGrantingTicketCookieGenerator.xml ,

  •   
  •   p:cookieName="CASTGC"
  •   p:cookiePath="/cas"
  •   />
  服务器修改完成。
  B.客户端修改
  还记得我们上面说的在客户端web.xml中cas服务器过滤器中,用到的是https://lin:8443/cas3/login之类的,现在我们要将这中服务端的连接改成:http://lin:8080/cas3/login这种方式,因为我们要用http来传递ST,注意cas服务器的http端口号我本机上是8080,这个看自己有没有改,如果改了这里也要改。(开始我就是这里没改成cas服务器的http端口,而只是把https改成http,一直报错,所以这是需要注意)
  这个版本的cas客户端就修改完成,其他版本的修改麻烦……


运维网声明 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-642353-1-1.html 上篇帖子: 利用APR本地库提高Tomcat性能 下篇帖子: Tomcat集群和Session复制
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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