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

[经验分享] Tomcat部署Yale CAS实践

[复制链接]

尚未签到

发表于 2017-1-24 10:34:44 | 显示全部楼层 |阅读模式
一、资源版本:<o:p></o:p>
Tomcat<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">5.0.28</st1:chsdate><o:p></o:p>
cas-server-<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">3.0.7</st1:chsdate><o:p></o:p>
cas-client-<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">2.0.11</st1:chsdate><o:p></o:p>
<o:p> </o:p>
二、Tomcat部署环境:<o:p></o:p>
casserver——cas服务器部署环境<o:p></o:p>
casclient——cas客户机部署环境(发布jsp-examples)<o:p></o:p>
casclient1——cas客户机部署环境(发布servlets-examples)<o:p></o:p>
<o:p> </o:p>
三、SSL文件准备:<o:p></o:p>
server.keystore——服务器端库文件<o:p></o:p>
client.keystore——客户端库文件<o:p></o:p>
server.cer——服务器端证书(自制)<o:p></o:p>
client.cer——客户端证书(自制)<o:p></o:p>
cacerts——证书链<o:p></o:p>
1、生成服务器端库文件<o:p></o:p>
keytool -genkey -alias tomcat-server -keyalg RSA -keypass changeit -storepass changeit -keystore server.keystore <o:p></o:p>
2、导出服务器端证书<o:p></o:p>
keytool -export -alias tomcat-server -storepass changeit -file server.cer -keystore server.keystore <o:p></o:p>
<o:p> </o:p>
3、生成客户端库文件<o:p></o:p>
keytool -genkey -alias tomcat-client -keyalg RSA -keypass changeit -storepass changeit -keystore client.keystore <o:p></o:p>
<o:p> </o:p>
4、导出客户端证书<o:p></o:p>
keytool -export -alias tomcat-client -storepass changeit -file client.cer -keystore client.keystore <o:p></o:p>
5、导入服务器端证书到cacerts<o:p></o:p>
keytool -import -trustcacerts -alias server -file server.cer -keystore cacerts -storepass changeit <o:p></o:p>
<o:p> </o:p>
6、导入客户端证书到cacerts<o:p></o:p>
keytool -import -trustcacerts -alias client -file client.cer -keystore cacerts -storepass changeit <o:p></o:p>
将server.keystore、client.keystore、erver.cer、client.cer、cacerts文件复制到cas服务器、cas客户机、cas客户机1的TOMCAT_HOME主目录及JAVA_HOEM\jre\lib\security目录下。<o:p></o:p>
四、Tomcat下cas安装部署<o:p></o:p>
1、casserver配置<o:p></o:p>
采用jakarta-tomcat-<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">5.0.28</st1:chsdate>.zip解压后默认配置,重点注意Server port="8005"<o:p></o:p>
及Connector port="8080" redirectPort="8443"(cas客户端需改端口号)。<o:p></o:p>
A、 编辑.\casserver\conf目录下server.xml文件并保存。<o:p></o:p>
找到如下片段,红色字体为新增内容。<o:p></o:p>
<!----><o:p></o:p>
    <connector port="8443"></connector>
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"<o:p></o:p>
               enableLookups="false" disableUploadTimeout="true"<o:p></o:p>
               acceptCount="100" debug="0" scheme="https" secure="true"<o:p></o:p>
               clientAuth="false" sslProtocol="TLS" <o:p></o:p>
               keystoreFile="/server.keystore" keystorePass="changeit"/><o:p></o:p>
<o:p> </o:p>
B、拷贝cas.war至.\casserver\webapps目录。<o:p></o:p>
至此,cas服务器部署完毕。启动服务器,访问https://localhost:8443如能显示Tomcat首页则表示cas部署成功。<o:p></o:p>
<o:p> </o:p>
2、casclient配置<o:p></o:p>
jakarta-tomcat-<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">5.0.28</st1:chsdate>.zip解压后修改根目录名为casclient。<o:p></o:p>
A、编辑.\casclient\conf目录下server.xml文件并保存。<o:p></o:p>
找到如下片段,红色字体为修改内容。<o:p></o:p>
<server port="&amp;lt;span style="></server>8006" shutdown="SHUTDOWN" debug="0"><o:p></o:p>
<connector port="&amp;lt;span style="></connector>8081"<o:p></o:p>
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"<o:p></o:p>
               enableLookups="false" redirectPort="8080" acceptCount="100"<o:p></o:p>
               debug="0" connectionTimeout="20000" <o:p></o:p>
               disableUploadTimeout="true" /><o:p></o:p>
B、编辑.\casclient\webapps\jsp-examples\WEB-INF目录下web.xml文件并保存。<o:p></o:p>
加入如下片段,重点注意红色字体部分。<o:p></o:p>
<filter></filter>   <o:p></o:p>
    <filter-name></filter-name>CASFilter   <o:p></o:p>
    <filter-class></filter-class>edu.yale.its.tp.cas.client.filter.CASFilter   <o:p></o:p>
    <init-param></init-param>   <o:p></o:p>
        <param-name></param-name>edu.yale.its.tp.cas.client.filter.loginUrl   <o:p></o:p>
        <param-value></param-value>https://localhost:8443/cas/login   <o:p></o:p>
       <o:p></o:p>
    <init-param></init-param>   <o:p></o:p>
        <param-name></param-name>edu.yale.its.tp.cas.client.filter.validateUrl   <o:p></o:p>
        <param-value></param-value>https://localhost:8443/cas/proxyValidate   <o:p></o:p>
       <o:p></o:p>
    <init-param></init-param>   <o:p></o:p>
        <param-name></param-name>edu.yale.its.tp.cas.client.filter.serverName   <o:p></o:p>
        <param-value></param-value>localhost:8081   <o:p></o:p>
       <o:p></o:p>
   <o:p></o:p>
<filter-mapping></filter-mapping>   <o:p></o:p>
    <filter-name></filter-name>CASFilter   <o:p></o:p>
    <url-pattern></url-pattern>/*   <o:p></o:p>
<o:p></o:p>
<o:p> </o:p>
C、将casclient.jar拷贝至.\casclient\webapps\jsp-examples\WEB-INF\lib目录下。<o:p></o:p>
至此,cas客户端部署完毕。启动客户服务器,访问http://localhost:8081/jsp-examples正常情况会弹出安全警报,点击确认后转向cas登录页面。此时casserver采用默认验证,用户名、口令输入相同的字符串即可,验证通过后转向jsp-examples应用的默认页面。<o:p></o:p>
<o:p> </o:p>
3、casclient1配置<o:p></o:p>
jakarta-tomcat-<st1:chsdate w:st="on" isrocdate="False" year="1899" day="30" islunardate="False" month="12">5.0.28</st1:chsdate>.zip解压后修改根目录名为casclient1。<o:p></o:p>
D、编辑.\casclient1\conf目录下server.xml文件并保存。<o:p></o:p>
找到如下片段,红色字体为修改内容。<o:p></o:p>
<server port="&amp;lt;span style="></server>8007" shutdown="SHUTDOWN" debug="0"><o:p></o:p>
<connector port="&amp;lt;span style="></connector>8082"<o:p></o:p>
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"<o:p></o:p>
               enableLookups="false" redirectPort="8080" acceptCount="100"<o:p></o:p>
               debug="0" connectionTimeout="20000" <o:p></o:p>
               disableUploadTimeout="true" /><o:p></o:p>
E、编辑.\casclient1\webapps\servlets-examples\WEB-INF目录下web.xml文件并保存。<o:p></o:p>
加入如下片段,重点注意红色字体部分。<o:p></o:p>
<filter></filter>   <o:p></o:p>
    <filter-name></filter-name>CASFilter   <o:p></o:p>
    <filter-class></filter-class>edu.yale.its.tp.cas.client.filter.CASFilter   <o:p></o:p>
    <init-param></init-param>   <o:p></o:p>
        <param-name></param-name>edu.yale.its.tp.cas.client.filter.loginUrl   <o:p></o:p>
        <param-value></param-value>https://localhost:8443/cas/login   <o:p></o:p>
       <o:p></o:p>
    <init-param></init-param>   <o:p></o:p>
        <param-name></param-name>edu.yale.its.tp.cas.client.filter.validateUrl   <o:p></o:p>
        <param-value></param-value>https://localhost:8443/cas/proxyValidate   <o:p></o:p>
       <o:p></o:p>
    <init-param></init-param>   <o:p></o:p>
        <param-name></param-name>edu.yale.its.tp.cas.client.filter.serverName   <o:p></o:p>
        <param-value></param-value>localhost:8082   <o:p></o:p>
       <o:p></o:p>
   <o:p></o:p>
<filter-mapping></filter-mapping>   <o:p></o:p>
    <filter-name></filter-name>CASFilter   <o:p></o:p>
    <url-pattern></url-pattern>/servlet/*   <o:p></o:p>
<o:p></o:p>
<o:p> </o:p>
将casclient.jar拷贝至.\casclient1\webapps\servlets-examples\WEB-INF\lib目录下。至此,cas客户端1部署完毕。启动cas客户1服务器,访问http://localhost:8082/servlets-examples/servlet/HelloWorldExample正常情况会弹出安全警报,点击确认后转向servlets-examples应用的HelloWorld页面(此时由于cas客户服务器已经登录,因此访问servlets-examples时无需再进行登录)。<o:p></o:p>
cas服务器、客户端部署完成后即可实现统一认证服务。案例中把登录认证部分的逻辑从jsp-examples、servlets-examples应用(此应用系统并无登录逻辑,在实际应用中需修改相应的登录验证逻辑)中剥离,交由cas认证服务器完成。<o:p></o:p>
以上配置在windows XP professional上测试通过。

<o:p></o:p>

运维网声明 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-332862-1-1.html 上篇帖子: tomcat免安装版配置说明 下篇帖子: Tomcat ClassLoader工作原理
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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