cas服务器端以及客户端部署.docx
- 文档编号:12668014
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:15
- 大小:47.76KB
cas服务器端以及客户端部署.docx
《cas服务器端以及客户端部署.docx》由会员分享,可在线阅读,更多相关《cas服务器端以及客户端部署.docx(15页珍藏版)》请在冰豆网上搜索。
cas服务器端以及客户端部署
cas服务器端以及客户端部署
一、服务器端部署(普通[http])
使用该种配置,不需要再生成证书,而且访问的时候可以使用http,所以比https相比配置以及使用更加方便。
1.修改cas\WEB-INF\deployerConfigContext.xml
修改dataSource标签,配置数据源。
注:
本例中我们是以oracle为例,lib包有oracle、db2、sqlserver的驱动,如果想配置其他数据库,不但需要配置该数据源还需要把相应的驱动jar包放到lib中。
2.修改cas\WEB-INF\spring-configuration\ticketGrantingTicketCookieGenerator.xml
id="ticketGrantingTicketCookieGenerator"class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator" p: cookieSecure="false" p: cookieMaxAge="-1" p: cookieName="CASTGC" p: cookiePath="/cas"/> 通过修改该项配置文件,cas即可支持http形式的访问。 1.1升级cas 1.拷贝WEB-INF\classes\org\jasig\cas\servlet文件夹至升级后的环境。 2.在cas的web.xml中增加验证用户名密码的servlet 3.拷贝WEB-INF\view\jsp\default\ui\casLoginView.jsp至升级后的环境。 4.修改WEB-INF\cas-servlet.xml文件,在beanlogoutController中增加1个参数: 5.拷贝cas下的css以及images、js、styles至升级后的环境,这块是我们自定义登录页面的样式单以及脚本以及图片路径。 二、cas服务器端部署(TLS[https]) 3.生成证书: keytool-genkey-aliaswsria-keyalgRSA-keystoreD: /signleLogin/wsriakey D: /signleLogin/wsriakey是证书存放地址。 接下来会有提示,让你输入keystore密码以及证书信息,以下是一个example: 输入keystore密码: 123456 您的名字与姓氏是什么? [Unknown]: 您的组织单位名称是什么? [Unknown]: ucap 您的组织名称是什么? [Unknown]: 单点登录 您所在的城市或区域名称是什么? [Unknown]: 北京 您所在的州或省份名称是什么? [Unknown]: 北京 该单位的两字母国家代码是什么 [Unknown]: ZH CN=,OU=ucap,O=单点登录,L=北京,ST=北京,C=ZH正确吗? [否]: y 输入 (如果和keystore密码相同,按回车): 123456 4.导出证书 keytool-export-fileD: /signleLogin/wsria.crt-aliaswsria-keystoreD: /signleLogin/wsriakey 导出该证书,是为了给客户端使用。 5.修改服务器端的127.0.0.1为域名 修改域名的文件在: C: \WINDOWS\system32\drivers\etc\hosts 以下是一个example,这里我们修改域名为【】: 127.0.0.1 6.修改cas\WEB-INF\deployerConfigContext.xml 修改dataSource标签,配置数据源。 注: 本例中我们是以oracle为例,lib中也只有oracle的驱动,如果想配置其他数据库,不但需要配置该数据源还需要把相应的驱动jar包放到lib中。 三、客户端配置(普通[http]) 1.修改客户端tomcat的web.xml增加cas的filter --用于单点退出,该过滤器用于实现单点登出功能,可选配置--> --该过滤器负责用户的认证工作,必须启用它--> //192.168.1.241: 8080/cas/login --这里的server是服务端的IP--> //192.168.1.241: 8080 --该过滤器负责对Ticket的校验工作,必须启用它--> org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter //192.168.1.241: 8080/cas //192.168.1.241: 8080 -- 该过滤器负责实现HttpServletRequest请求的包裹, 比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。 --> org.jasig.cas.client.util.HttpServletRequestWrapperFilter -- 该过滤器使得开发者可以通过org.jasig.cas.client.util.AssertionHolder来获取用户的登录名。 比如AssertionHolder.getAssertion().getPrincipal().getName()。 --> --自动根据单点登录的结果设置本系统的用户信息--> 注意: cas的filter-mapping必须放在其他filter-mapping的前面,即保持cas为首个filter-mapping。 //192.168.1.241: 8080/cas/logout login_login.action; logout_logout.action; getRandomImages_login.action; validateCode_login.action; validateUserByLoginId_login.action; validatePwd_login.action; checkAccountIsNotExpired_login.action; checkPwdIsNotExpired_login.action; ajaxValidateLogin_login.action; preview_resource.action; getWebsiteAndChannelNotLoginTree_tree.action 2.修改account-struts.xml,该修改针对的是website-webapp以及其他用到该文件的web工程 name="logoutSuccess"type="redirect">http: //192.168.1.241: 8080/cas/logout 四、客户端配置(TLS[https]) 3.修改客户端的127.0.0.1为域名,修改方式与服务器端一致,但是域名不能与服务器端相同,因为服务器端为,那么我们配置本地的域名为。 4.导入证书 该证书指的是,刚刚从服务器段导出的wsriakey。 没有特殊要求的话,一般将该证书导入到系统环境变量中指定的jdk中,如果Tomcat指定了jdk,那么将证书导入到指定的jdk中。 keytool-import-keystoreC: \Java\jdk1.5.0_22\jre\lib\security\cacerts-fileD: \signleLogin\wsria.crt-aliaswsria 注: C: \Java\jdk1.5.0_22\jre\lib\security\cacerts路径包含空格的话,需要用””包起来,即: C: \ProgramFiles\Java\jdk1.5.0_22\jre\lib\security\cacerts “C: \ProgramFiles\Java\jdk1.5.0_22\jre\lib\security\cacerts” 5.客户端关联服务器 在cmd中进入到trunk\deployment\dev\cas下执行以下的命令: javaInstallCert: 9996 这里服务器的域名,具体以实际情况为准。 9996cas服务器端的端口号,具体以实际情况为准。 6.修改客户端tomcat/conf/server.xml 增加1个标签: maxThreads="150"scheme="https"secure="true" clientAuth="false"sslProtocol="TLS" keystoreFile="E: /signleLogin/wsriakey" keystorePass="changeit"/> 这里: keystoreFile="E: /signleLogin/wsriakey"指向本地证书的物理位置 7.修改客户端tomcat的web.xml增加cas的filter --用于单点退出,该过滤器用于实现单点登出功能,可选配置--> --该过滤器负责用户的认证工作,必须启用它--> 9996/cas/login --这里的server是服务端的IP--> 8080 --该过滤器负责对Ticket的校验工作,必须启用它--> org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter 9996/cas 8080 -- 该过滤器负责实现HttpServletRequest请求的包裹, 比如允许开发者通过HttpServletRequest的getRemoteUser()方法获得SSO登录用户的登录名,可选配置。 --> org.jasig.cas.client.util.HttpServletRequestWrapperFilter -- 该过滤器使得开发者可以通过org.jasig.cas.client.util.AssertionHolder来获取用户的登录名。 比如AssertionHolder.getAssertion().getPrincipal().getName()。 --> --自动根据单点登录的结果设置本系统的用户信息-->
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- cas 服务器端 以及 客户端 部署