JEESZ分佈式框架--單點登陸集成方案(二)

修改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作以下配置:

  1. 修改服務端cas-servlet.xml配置(apache-tomcat-7.0.40\cas\ROOT\WEB-INF),找到

增長屬性 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系統返回的結果時,須要定義一個過濾器獲取返回結果,而後針對返回結果作相關處理.

相關文章
相關標籤/搜索