修改sso1下的web.xml。添加以下代码:web
org.jasig.cas.client.session.SingleSignOutHttpSessionListener SingleSignOutFilter org.jasig.cas.client.session.SingleSignOutFilter SingleSignOutFilter /* CASValidationFilter org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter casServerUrlPrefix https://jeesz.cn:8443/cas; serverName http://www.sso1.com; useSession true exceptionOnValidationFailure false redirectAfterValidation true CASValidationFilter /* CASFilter org.jasig.cas.client.authentication.AuthenticationFilter casServerLoginUrl https://jeesz.cn:8443/cas/login; serverName http://www.sso1.com; CASFilter /* CASHttpServletRequestWrapperFilter org.jasig.cas.client.util.HttpServletRequestWrapperFilter CASHttpServletRequestWrapperFilter /* CASAssertionThreadLocalFilter org.jasig.cas.client.util.AssertionThreadLocalFilter CASAssertionThreadLocalFilter /* SSO4InvokeContextFilter com.common.core.busi.other.filter.SSO4InvokeContextFilter SSO4InvokeContextFilter /*
5.修改sso2下的web.xml。添加以下代码:spring
org.jasig.cas.client.session.SingleSignOutHttpSessionListener SingleSignOutFilter org.jasig.cas.client.session.SingleSignOutFilter SingleSignOutFilter /* CASValidationFilter org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter casServerUrlPrefix https://jeesz.cn:8443/cas; serverName http://www.sso2.com; useSession true exceptionOnValidationFailure false redirectAfterValidation true CASValidationFilter /* CASFilter org.jasig.cas.client.authentication.AuthenticationFilter casServerLoginUrl https://jeesz.cn:8443/cas/login; serverName http://www.sso2.com; CASFilter /* CASHttpServletRequestWrapperFilter org.jasig.cas.client.util.HttpServletRequestWrapperFilter CASHttpServletRequestWrapperFilter /* CASAssertionThreadLocalFilter org.jasig.cas.client.util.AssertionThreadLocalFilter CASAssertionThreadLocalFilter /* SSO4InvokeContextFilter com.common.web.filter.SSO4InvokeContextFilter SSO4InvokeContextFilter /*
6.编辑sso1,sso2 index.jsp页面,复制以下代码:apache
sso1 index.jsp:浏览器
这个是www.sso1.comtomcat
你好我是sso1页面:服务器
<%= request.getRemoteUser()== null ? "null" : request.getRemoteUser() %>Sso2 index.jsp:cookie
这个是www.sso2.comsession
你好我是sso2页面:app
<%= request.getRemoteUser()== null ? "null" : request.getRemoteUser() %>7.经过eclipse发布到Tomcat服务器上去。找到Tomcat,webapps下的sso1,sso2文件夹,分别复制sso1和sso2下面的全部文件,找到Tomcat根目录下的sso1,sso2(就是咱们前面步骤新建的目录),在sso1,sso2下新建ROOT目录,把刚刚复制的文件粘贴。eclipse
配置Tomcat 下server.xml文件,加入以下代码:
8.重启Tomcat,打开浏览器输入网址:www.sso1.com:8080,输入用户名与密码,若是出现如下信息,则成功
在浏览器上输入www.sso1.com:8080,你会发现跳回到登陆页面,不要担忧。打开ticketGrantingTicketCookieGenerator.xml路径在apache-tomcat-7.0.40\cas\ROOT\WEB-INF\spring-configuration。找到p:cookieSecure="true",将其修改成p:cookieSecure="false",重启Tomcat,测试一下。
注:咱们以上步骤返回的只有一个用户名,CAS服务器默认返回该信息。
第是节:修改单点登陆默认界面
第一步:找到它本身的页面
打开cas工程,找到G:\SoftWare\tomcat\apache-tomcat-7.0.2\apache-tomcat-7.0.2\webapps\cas\WEB-INF\view\jsp\default这个目录,将其复制一份重命名放在G:\SoftWare\tomcat\apache-tomcat-7.0.2\apache-tomcat-7.0.2\webapps\cas\WEB-INF\view\jsp\目录下,
第二步:修改默认登陆页面
将其命名为mydefalut以下图:
而后将apache-tomcat-7.0.2\webapps\cas\WEB-INF\classes
目录下的default_views.properties复制一份,重命名为mydefault_views.properties。修改里面的内容,将全部里面的路径中的default改为mydefault。而后修改WEB-INF下的cas.properties将里面的cas.viewResolver.basename后面的值修改为mydefault_views即:
cas.viewResolver.basename=mydefault_views
若是要修改登陆界面,只须要修改casLoginView.jsp便可。
第五节:单点登出配置
第一步:配置单点登陆监听器和过滤器
1.Tomcat的sso1,sso2的工程里,在web.xml里分别添加一下代码:
org.jasig.cas.client.session.SingleSignOutHttpSessionListener CAS Single Sign Out Filter org.jasig.cas.client.session.SingleSignOutFilter CAS Single Sign Out Filter /*
注意:这些代码应该放在web.xml文件其余过滤器的最前面。
2.在sso1,sso2的index.jsp页面添加如下代码:
http://jeesz.cn:8080/logout">单点退出
3.重启Tomcat,访问http://jeesz.cn:8080/点击单点退出,若是成功,就会出现以下界面:
通常注销是跳到原项目的登陆页面,因此咱们须要对CAS作以下配置:
增长属性 p:followServiceRedirects="true"
2.修改客户端,sso1,sso2 index.jsp文件将原来的单点登出的URL修改为:
Sso1:http://jeesz.cn:8080/logout?service=http://www.sso1.com:8080
Sso2:http://jeesz.cn:8080/logout?service=http://www.sso2.com:8080
重启Tomcat,测试正常。
第六节:多项目集成单点登陆配置
第一步:单点登陆系统与其余项目集成
在WEB 项目中的WEB-INF目录下的web.xml文件,添加如下配置.
org.jasig.cas.client.session.SingleSignOutHttpSessionListener SingleSignOutFilter org.jasig.cas.client.session.SingleSignOutFilter SingleSignOutFilter /* CASValidationFilter org.jasig.cas.client.validation.Cas20ProxyReceivingTicketValidationFilter casServerUrlPrefix https://jeesz.cn:8443/cas; serverName http://www.sso3.com:6060; useSession true exceptionOnValidationFailure false redirectAfterValidation true CASValidationFilter /* CASFilter org.jasig.cas.client.authentication.AuthenticationFilter casServerLoginUrl https://jeesz.cn:8443/cas/login; serverName http:// www.sso3.com:6060 CASFilter /* CASHttpServletRequestWrapperFilter org.jasig.cas.client.util.HttpServletRequestWrapperFilter CASHttpServletRequestWrapperFilter /* CASAssertionThreadLocalFilter org.jasig.cas.client.util.AssertionThreadLocalFilter CASAssertionThreadLocalFilter /* SSO4InvokeContextFilter com.common.web.filter.SSO4InvokeContextFilter SSO4InvokeContextFilter
当sso验证完成以后,客户端系统须要接收sso系统返回的结果时,须要定义一个过滤器获取返回结果,而后针对返回结果作相关处理.