版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、CAS示例环境部署及配置示例说明在本示例中将使用cas-server-3.5.0和cas-client-3.2.1搭建一个SSO测试环境, 在同一台机器上安装 3个tomcat,分别部署一个cas server和两个cas client,这 三个应用使用不同的域名访问(通过配置 hosts文件实现多个域名)。配置完成 之后,应达到如下效果:1、首先访问appl,此时需要跳转到cas登录页面,要求用户进行登录;2、 输入正确的用户名和密码,登录成功之后自动跳转到appl,而且可以获取到 用户的登录信息;3、 在同一个浏览器中直接访问app2,此时不需要再次用户登录即可正常访问, 而且可以获取到登
2、录用户的信息;4、反复访问app1和app2,只要不关闭浏览器,就可以一直正常访问并且可以 获取到用户信息;5、在浏览器地址栏输入 CAS登出的路径(:8443/cas/logout), 系统提示成功注销;6此时无论访问即p1还是app2,都会跳转到cas登录页面,要求用户重新登 录。部署文件清单应用服务器中间件Tomcat6.0.23 (符合 Servlet2.3 以上标准的 J2EE容器)JDKJDK1.6CAS SERVE部 署包cas-server-3.5.0.war,可以从 /cas 获取CAS CLIEN部署包使用CAS故单点登录的应用准备部署
3、环境本文演示过程在同一个机器上的 (也可以在三台实体机器或者三个的虚拟机 上),根据演示需求,我们需要准备三个不同的域名,分别对应cas server和两个cas客户端应用,用修改hosts文件的方法添加域名最简单方便(这个非常重要), 在文件 c:windowssystem32driversetchosts 文件中添加三条 其中:对应部署 cas server 的 tomcat,如果这个 tomcat 使用 https 协议,则这个虚拟域名还用于证书生成; 另外两个域名对应两个不同的客户端应 用。安装JDK配置JAVA_HOMEPAT
4、H环境变量;在D盘根目录复制三个 TOMCAT 文件夹,分别命名为 tomcat-for-cas、tomcat-for-client-1、tomcat-for-client-2 ; 这个详细过程就不再详细描述。四、CAS SERVE部署及通用配3.1 CAS SERVER 部署cas-server-xxxx.warl的下载地址为 /cas/download ,本文以 cas-server-350.zip 为例,解压提取 cas-server-3.5.0/modules/cas-servevebapp -3.5.0.war文件,把此文件复制到tomcat-f
5、or-caswebapps目录并解压到cas文件 夹(如果不准备对CAS的文件做修改,则可以直接将 WAR文件修改为cas.war 即可)。启动tomcat (此tomcat的默认监听端口为8090),在浏览器地址栏输入:8090/cas,按回车键后地址栏会自动变为:8090/cas/login,并显示如下界面:JASICXon-seciate CoanectiocOntral /Yiithentiration Senioe (CAS)You .rwKauir*3 CAS rcn-aKurM HrriKdih. Etrt Sqn Bn WELL HOT KORK". In a-dar
6、 33 hiiiB .rgla >191 =m 肛电pu NIST kg if enrHE = Z 护 *TErxf 可陰知 Fife 2狞对上:.最j Ifa :ZNf亡亞CllbMaLfill's,” I H咖负h Mi_£±s:0th Ei幻强m廿 CvUtr H&oeda-谒nEX 刊侶JASIG在登录窗口中,用户名和密码都输入 admin (实际上可以输入任何值,只要用户 名和密码一致,就可以成功登录,这个是CAS的默认验证规则),然后点击登录, 会出现如下界面:JASIGOnt ml Authentication Service ('
7、;AS)叠眾成功r -HE话比皿他舄虫甘WXEi鼻加C胡吋眩二曲盒之JASIG至此,CAS SERVER应用已经部署成功,接下来就是根据情况进行配置3.2 CAS SERVER通用配置1. 配置CAS SERVE节点名称在文件 $CAS/WEB-INF/pertie中 的值,比如修改为 cas01。2. 去除登录页面的“ Non-secure Connectior”提示如果部署CAS SERVER勺TOMCAT没有启用HTTPS或者没有通过 HTTPS端口访问,则会出现如下提示,想要去掉这个提示,只能修改登录页面Caniwtion.Hl ” 匚上三 B h S
8、rrrerTan 弓日丁 E i'IIJ,耳苗训声丿 E a 厂 W M ? Sr Jr-勺 pn b iV-: v H/7T I刃 r Ab TTF5五、 CAS客户端的部署及配置4.1 客户端应用的部署按照常规方式部署使用CAS乍为单点登录服务器的应用,并测试此应用是否 能正常访问,我们使用的是一个测试应用,只有一个jsp页面,将这个应用放到准备好的tomcat-for-client-2/webapps 下面即可,访问应用的跟目录 :5090/c2,如果显示正常的页面即表示应用部署成功,我的测试应用显示如下信息:dotiiaiii=app2 demo.conicline tl d
9、clurl=http: :5090 c2qiienstting=niillrtqutstSe55ionld=970BF81F684ATB3A2B744518FDE88ses5ioiJd=9_0BF£lF6S4AiB3A2B-4451SFD-E$.AEUEerNam 尸4.2 复制CAS CLIENT需要的JAR文件复制CAS核心文件和其所依赖的JAR不同版本的CAS需要的JAR文件可能稍微有所不同,本例使用的是 cas-client-core-3.2.1,需要的JAR文件如下所示:IftC'l'j-Jil Ma I d- la -iUiLk«nl<!i
10、ih: m t»htft|和mm-i; “ g jK-<31wia«r<? J 1 j«rEkl MT'V - EBTF-! 5- Q .IW ;|«aW*qE £ JV;&: ,r|i-fc.xLji<IJ.*ftlr,3L I I Jtr >: TilfAjlll r-«fl|>i D :c-:wju3I'L WHuyr I I j<r 単*旳4 J« WriqrWdLF IX / V ifcP'iifiUlVt j-tf njErfarr-d >
11、D J hi 駅if 士堆审J«J_0 I>i kU« EWShRIIFl 袒=EME-H hiW*l M 郛JT4 EE-i iui EKBIJ 2E1 H!tWf |!| »EE BESisiiaiiWM-L 11 毎m Wliiin (Ei*匱口頼1冲啤:I4 D初區UB IBli dli LhCth卜* io ifiu :nliaJU EE番件135 15lO.tt734.3 配置web.xml文件有关cas-client的web.xml修改的详细说明见官网介绍:/display/CASC/Co nfigur
12、i ng+the+JA-SIG+CAS+Clie nt+fo r+Java+in+ the+web.xml我们这里只介绍将会用到的最简单的配置,将如下内容复制到 web.xml中, 需要注意的是SingleSignOutFilter的映射一定要写在其他过滤器的最前面,至少 是过滤器CAS Authentication Filter的前面,然后根据实际情况修改参数即可,如下所示突出显示的部分:<liste ner> <liste ner-class>org.jasig.cas.clie nt.sessio n.Si ngleSig nOutHttpSessio nList
13、e nerv/listene r-class> v/liste ner><filter>vfilter-name>CAS Authentication Filterv/filter-name><filter-class>org.jasig.cas.clie nt.authe nticati on .Authe nticati onF ilter</filter-class><ini t-param>vparam-n ame>casServerLogi nUrlv/param-n ame> <param-v
14、alue>ittp:/:8090/cas/login v/param-value>v/ini t-param> vini t-param> vparam-n ame>serverName</param-n ame>vparam-value>:5090</param-value>v/ini t-param></filter><filter>vfilter- name>CAS Validatio n Filterv/filter- name><filter-class>org.jasi
15、g.cas.clie nt.validatio n.Cas20ProxyReceivi ngTicketValidatio nF ilte/filter-class><ini t-param>vparam-n ame>casServerUrlPrefix</param-n ame><param-value>ittp:/:8090/cas </param-value>v/ini t-param><ini t-param>vparam-n ame>serverNamev/param-n ame> vparam
16、-value>:5090v/param-value>v/ini t-param>vi nit-param>vparam-n ame>useSessi onv/param-n ame>vparam-value>truev/param-value>v/in it-param>vini t-param>vpara m-n ame>redirectAfterValidati onv/para m-n ame>vparam-value>falsev/param-value>v/in it-param>v/filte
17、r>vfilter>vfilter- name>HttpServletRequestWrapperFilterv/filter- name>vfilter-class>org.jasig.cas.clie nt.util.HttpServletRequestWrapperFilter</filter-class> v/filter><filter>vfilter- name>S in gleSig nO utFilterv/filter- name>vfilter-class>org.jasig.cas.clie n
18、t.sessio n.Si ngleSig nOutFilter</filter-class> </filter>vfilter-mapp ing><filter- name>S in gleSig nO utFilterv/filter- name>vurl-patter n> /jsp/*</url-patter n>v/filter-mapp ing>vfilter-mapp ing>vfilter-name>CAS Authentication Filterv/filter-name>vurl-p
19、attern>/jsp/* v/url-pattern>v/filter-mapp ing>vfilter-mapp ing>vfilter- name>CAS Validatio n Filterv/filter- name>vurl-pattern>/jsp/* v/url-pattern>v/filter-mapp ing>vfilter-mapp ing>vfilter- name>HttpServletRequestWrapperFilterv/filter- name>vurl-pattern>/jsp/
20、* v/url-pattern>v/filter-mapp ing>4.4 部署结果测试配置完成后,启动 CAS SERVE所在的tomcat和CAS客户端所在的tomcat,然后打开浏览器输入网址:5090/c2,此时浏览器会自动进行跳转到CAS的登录页面,地址栏会显示如下的地址::8090/cas/logi n?service=http%3A%2F%2F%3A5090%2Fc2%2F同时会看到如下所示的登录界面:在登录窗口中,用户名和密码都输入 admi n,然后点击登录,系统会自动跳转到登录之前我们要访问的地址,出现如下界面:至此,一个简单的CAS测试环境就搭建成功了六、 为
21、 CAS SERVE配置 HTTPS5.1 获取安全证书通常可以从一些安全机构申请安全证书,但是要支付一定的费用,在本试验中,我们使用JDK自带的工具keytool生成一个证书,生成证书的命令为:keytool -ge nkey -aliascas -keyalg RSA -keysize 1024 -validity 730 -keystore d:/temp/cas.keystore在上面的命令行中,突出显示的部分为需要修改的部分,其他参数可以默认, 也可以参照keytool的参数说明进行修改;其中参数 alias指定了证书的别名,以 后对证书的操作会用到此名称,我们这里设置为cas, k
22、eystore指定了证书存在磁盘上的文件路径,即我们需要将生成的证书存放在哪里。创建证书的过程如下所示,需要注意的是途中画红方框的地方,这个值需要 与访问cas时的域名或者cas所在的计算机名保持一致;最后一个密码和keystore 的密码保持一致即可,密码是 casserve。kcystDJTC码相同,按回车)ces ,deiA0 -eonI输入5皿C;>keytoo1-alias cas keaig RSA -keysize 104 -uilidity ?30 -kestored:/temp/cs.keystcre麵入keys to re密码;【Unknown J您的组织鱼位名祢是什
23、么?LJnknown : less您的组织名称是什么9 Unknown】: cn愿所在的城帀巍(K吨称是什4?Unknown Lheijiner您所在的州或省踪冬娜是什么?Unknaun 9he i J ing|该单位的两字母国家代码是什么U nknown cn.demo. con« OU =icss > fl=cn L=b>sijincf GT =Jbe ijiinigf, C=cn TF确吗?匸否:h95.2 配置 CAS SERVER使用的 TOMCAT默认情况下,tomcat是没有开启https端口的,因此需要在TOMCAT/co nf/server.xml 中进
24、行手动配置。首先找到如下代码的位置:Derine a SSL http/1.1 Ccinnector on port 右吒理了<Cainiiectpr port = rr8443lt maxH11pHeade£-512£="8192meiKTbr e adj-pp 150is i n5 p st eTlireads -rp 2 5 rp ztietx Sp ar eTtir e cui=- rF75fp enab IgLookups = ppfaIseFP dlsableUploadTixns屯匸=带trueff ac ce pt C o unt=w100r
25、p s ctiewe=1P http a" sec ure =ntrue "c 1 ient Auth= plpf a 13e R ss 1 Proti3c:i3 1="TLS* />在配置文件中添加红框中所示的代码,其中keystoreFile为我们生成的证书文件的存放路径,keystorePass为生成证书时输入的密码,本实验中我把证书文件复 制到了 server.xml的目录下。define a WBL HTTP/1h1 Connector on port 6443 -><Gciuiectar 四匸“別晴” msHttpHeadexSize
26、-F,6192Mmax Threads- ,r150*r xninSpar eThreads- "2 5fr max SpareThr tads1 ,r75rr enahleLookups=rrfalsef, disab丄色Uple邑dTim色匸忙u色" acceprCount11 f, ldOsc hem 已="11匸匕口3" secure= M true *'SSLEnabled= r*true,fkeystoreFi le=FT/con£/ cas Xey3tore 已匕"/>5.3 通过HTTPS访问CAS应用在
27、浏览器中输入:8443/cas,出现如下所示的界面:点击“继续浏览此网站”即可跳转到我们熟悉的登录界面,此时你会发现,那个令人讨厌的“ Non-secure Connectior”提示也没有了:在登录窗口中,用户名和密码都输入 admin (实际上可以输入任何值,只要用户 名和密码一致,就可以成功登录,这个是CAS的默认验证规则),然后点击登录,会出现如下界面5.4 修改CAS客户端的配置将CAS客户端的web.xml中需要配置CAS SERVER URL地方做对应的修改, 本例中,应将过滤器 CAS Authentication Filter的参数casServerLoginUrl的值由“
28、:8090/cas/login ” 修改为“ :8443/cas/login ”;将过滤器 CAS Validation Filte的参数 casServerUrlPrefix的值由“ :8090/cas” 修改为“ :8443/cas” ;修改完配置文件之后,重新启动tomcat,访问地址:5090/c2 , 浏览器依然会自动跳转到登录页面,但是当输入完用户名和密码,点击登录之后, 就会出现如下的错误页面:i-TFTP Mata 上图对应的错误信息如下:java.la ng.R un timeExceptio n: javax. net.ssl.SSLHa ndshakeExceptio n
29、: sun. security.validator.ValidatorExcepti on:PKIX path buildi ng failed:vider.certpath.SunCertPathBuilderException: unable to find valid certificati on path to requested targetorg.jasig.cas.clie nt.util.Com mon Utils.getResp on seFromServer(C ommon Utils.java:341)org.jasig.cas.clie
30、nt.util.Com mon Utils.getResp on seFromServer(C ommon Utils.java:305)org.jasig.cas.clie nt.validatio n. AbstractCasProtocolUrlBasedTi cketValidator.retrieveResp on seFromServer(AbstractCasProtocolUrlBasedT icketValidator.java:50)org.jasig.cas.clie nt.validatio n. AbstractUrlBasedTicketValidat or.val
31、idate(AbstractUrlBasedTicketValidator.java:207)org.jasig.cas.clie nt.validatio n. AbstractTicketValidatio nF ilter.doFilter(AbstractTicketValidatio nFilter.java:169)org.jasig.cas.clie nt.authe nticati on .Authe nticatio nF ilter.doFi lter(Authe nticatio nF ilter.java:116)出现这个错误的直接原因就是因为 JVM没有找到访问时所需
32、要的 安全证书,现在出现这个错误是正常的,因为我们还没有将安全证书导入到 JVM 的证书库中,如果在以后的使用过程中出现这个错误,可以通过keytool的list命令查看JVM的证书库中是否有对应的证书。5.5 为运行CAS CLIENT的JVM设置安全证书CAS客户端在验证时,会从后台通过代码访问CAS SERVER匕时是通过HTTPS 进行访问的,因此运行 CAS客户端的JVM会在JVM的证书库中查找与访问的域 名对应的证书,然后使用此证书与 CAS SERVE建立会话。因此我们要告诉JVM 到哪里获取安全证书。有两种方法可以达到这个目的,一个方法是在启动TOMCAT勺时候为JVM指定证书
33、的位置和访问密码,另一个方法是将安全证书导 入到JVM的默认证书库中。1、为JVM指定可信证书库的位置在启动TOMCAT的启动参数中增加如下内容,也可以在启动TOMCAT之前将 环境变量JAVA_OPT设置为如下的值(需要注意的是下面两行的内容不要换行)-Djavax. net.ssl.trustStore=D:/tomcat-for-cas/c on f/cas.keystore -Djavax .n et.ssl.trustStorePassword=casserver有两种方式指定 JVM的启动参数,一种在tomcat/bin/catalina.bat中指定:IET MM l*Tl*lJWn IFT11jC41 lir'KI'ftvrAali ;ftrBtM/CAnffC-M >htgFfiVflr*JdvAixtttt.illif n»t -UATfllll* dWt,T " “ wV-Idht無(jitM rMt.iiWtfRlif rri'st
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 关于工作个人述职报告集锦六篇
- 重温寄语精神-展现青春担当的心得体会(6篇)
- (教师用书)2024年-学年高中地理 第3单元 单元活动 区域资源、环境与可持续发展教学实录 鲁教版必修3
- 公司新员工辞职报告合集15篇
- 网上办公系统系统设计
- 陶艺制作过程
- 包装概述与包装成本计算
- 环保建议书集锦15篇
- 学校安全教育心得体会
- 固定资产明细账模板-共10篇
- MOOC 作物育种学-四川农业大学 中国大学慕课答案
- 国标《电化学储能电站检修试验规程》
- 天津市长期护理保险护理服务项目和标准
- 2011年1月自考03706思想道德修养与法律基础试题及答案含解析
- 2024年内蒙古巴彦淖尔市交通投资集团有限公司招聘笔试参考题库含答案解析
- 汽车租赁服务投标方案(技术方案2)
- 委托无人机服务协议
- 2024年中考语文名著阅读《儒林外史》内容简介、主要人物形象及相关练习
- 借助力学原理设计简易杠杆装置
- 2024年执业医师考试-中医执业助理医师笔试历年真题荟萃含答案
- 2023年甲型H1N1流感防控考核试题及答案
评论
0/150
提交评论