CAS客户端和服务端部署
来源:互联网 发布:淘宝的宝贝卖点怎么写 编辑:程序博客网 时间:2024/06/05 00:39
首先下载cas的服务端和客户端包
http://developer.jasig.org/cas/(服务端)
http://developer.jasig.org/cas-clients/(客户端)
然后在配置完jdk等环境的情况下,我们需要两个tomcat来充当cas的服务端和客户端
解压tomcat的解压到两次,并命名不同的名称。
然后需要在环境变量中配置“CATALINA_HOME”变量,变量值为第一个tomcat的包的路径:
然后在第二个tomcat目录下修改几个文件:
1. conf/server.xml中需要将的端口修改成任意端口
2. 将访问端口8080换成非占用端口
3. 替换成任意非占用端口
然后对bin/startup.bat进行修改:
在头一行写上红框内语句,CATALINA_HOME=当前第二个tomcat的地址
同理修改shutdown.bat和catalina.bat,这样配置使两个tomcat不会互相冲突。
配置完tomcat后,在进行cas服务端的配置
首先解压服务端压缩包,将modules中的cas-server-webapp.war解压到第二个tomcat的webapps中,并对配置文件进行修改:
CAS-SERVER服务端的部署
取消HTTPS协议:
打开 cas-server\WEB-INF\deployerConfigContext.xml 文件 ,找到如下配置:
<beanid="proxyAuthenticationHandler"class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler" p:httpClient-ref="httpClient"/>增加参数p:requireSecure="false",是否需要安全验证,即HTTPS,false为不采用。修改后为: <beanid="proxyAuthenticationHandler"class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler" p:httpClient-ref="httpClient"p:requireSecure="false" />打开 cas-server\WEB-INF\spring-configuration\ticketGrantingTicketCookieGenerator.xml ,找到如下配置: <beanid="ticketGrantingTicketCookieGenerator"class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator" p:cookieSecure="true" p:cookieMaxAge="-1" p:cookieName="CASTGC" p:cookiePath="/cas"/> 修改 p:cookieSecure="true" 为p:cookieSecure="false",即不开启https验证 打开 cas-server\WEB-INF\spring-configuration\warnCookieGenerator.xml ,找到如下配置: <bean id="warnCookieGenerator"class="org.jasig.cas.web.support.CookieRetrievingCookieGenerator" p:cookieSecure="true" p:cookieMaxAge="-1" p:cookieName="CASPRIVACY" p:cookiePath="/cas"/>修改 p:cookieSecure="true" 为p:cookieSecure="false",即不开启https验证
然后启动tomcat(用startup.bat启动即可)
输入网址:别名就是你放在webapps中的文件名
注意:cas-server4.0之前的默认验证规则:只要用户名和密码相同就认证通过,4.0之后规则改了,默认是配置在deployerConfigContext.xml配置文件中,可以看到用户名密码为casuser/Mellon。
<display-name>casclient</display-name> <!-- 用于单点退出,该监听器用于实现单点登出功能,通知其他应用单点登出 --> <listener> <listener-class>org.jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class> </listener> <!-- 该过滤器用于实现单点登出功能 --> <filter> <filter-name>CAS Single Sign Out Filter</filter-name> <filter-class>org.jasig.cas.client.session.SingleSignOutFilter</filter-class> </filter> <filter-mapping> <filter-name>CAS Single Sign Out Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 该过滤器负责用户的认证工作 --> <filter> <filter-name>CASFilter</filter-name> <filter-class>org.jasig.cas.client.authentication.AuthenticationFilter</filter-class> <init-param> <param-name>casServerLoginUrl</param-name> <!-- 设置登录的URL地址 --> <!-- 设置cas跳转的路径和端口,即cas服务端地址 --> <param-value>http://localhost:8090/cas-server/login</param-value> </init-param> <init-param> <param-name>serverName</param-name> <!-- 设置本应用的访问地址及端口 --> <param-value>http://localhost:8080</param-value> </init-param> </filter> <filter-mapping> <filter-name>CASFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 该过滤器负责对Ticket的校验 --> <filter> <filter-name>CAS Validation Filter</filter-name> <filter-class>org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter</filter-class> <init-param> <param-name>casServerUrlPrefix</param-name> <param-value>http://localhost:8090/cas-server</param-value> </init-param> <init-param> <param-name>serverName</param-name> <param-value>http://localhost:8080</param-value> </init-param> </filter> <filter-mapping> <filter-name>CAS Validation Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 该过滤器负责实现HttpServletRequest请求的包裹,允许开发者通过HttpServletRequest的getRemoteUser()获取SSO登录的用户 --> <filter> <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name> <filter-class>org.jasig.cas.client.util.HttpServletRequestWrapperFilter</filter-class> </filter> <filter-mapping> <filter-name>CAS HttpServletRequest Wrapper Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- 该过滤器使得开发者可以通过org.jasig.cas.client.util.AssertionHolder来获取用户的登录名。比如AssertionHolder.getAssertion().getPrincipal().getName()。 --> <filter> <filter-name>CAS Assertion Thread Local Filter</filter-name> <filter-class>org.jasig.cas.client.util.AssertionThreadLocalFilter</filter-class> </filter> <filter-mapping> <filter-name>CAS Assertion Thread Local Filter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
启动demo项目,就会自动跳转到cas服务端认证啦,注意,启动时很有可能demo会出现jar包冲突,如果发生冲突,需要demo项目所在tomcat的conf/context.xml加入如下信息:
即若jar冲突优先使用项目中的jar包。
- CAS客户端和服务端部署
- cas 部署https服务端和客户端http
- 非SSL协议 CAS服务端部署及客户端配置
- CAS部署服务端
- CAS单点登录(二)---非SSL协议 CAS服务端部署及客户端配置
- CAS 使用 HTTPS 单向认证方式 服务端和客户端配置
- 部署CAS应用-客户端
- cas 服务端https安装部署。
- CAS 服务端部署 部分配置
- 单点CAS搭建服务端+客户端
- CAS服务端及客户端下载
- CAS服务端,JAVA客户端,PHP客户端配置
- SSO单点登录系列2:cas客户端和cas服务端交互原理动画图解,cas协议终极分析
- SSO单点登录系列2:cas客户端和cas服务端交互原理动画图解,cas协议终极分析
- 关于CAS客户端部署实现
- cas 单点登录服务端客户端配置
- JASIG-CAS单点登陆服务端客户端配置
- CAS单点登录服务端与客户端配置
- 【地图整饰】ArcMap添加地图标题及ArcEngine实现
- Codeforces Gravity Flip
- java判断字符串是正整数
- PAT练习-石头剪刀布
- (OK) Android-x86-7.1.1
- CAS客户端和服务端部署
- 关于java代码中求两个日期差的方法
- Quartz使用-入门使用(java定时任务实现)
- JDK8新特性:接口的静态方法和默认方法
- 有关html5的postMessage跨域发送消息
- MongoDB的安装包.msi后缀和.zip后缀的区别
- Kotlin入门系列教程—Kotlin若只如初见
- J2EE的体系结构
- golang 开源项目全集