cas4.2.7學習(七)cas server端登陸後根據url自定義跳轉
阿新 • • 發佈:2018-12-19
首先說明一下,正常的單點登陸應該都是訪問客戶端,然後跳轉到cas伺服器驗證登陸之後,返回到客戶端原來的地址,
這個是通過引數service來實現的,我們返回沒有客戶端跳轉到cas server登陸頁的時候位址列裡都會跟有這個引數。這個引數就是控制重定向的。
但是如果我們直接訪問server端登陸,它的這個引數是空的,所以cas給了一個預設的頁面 casGenericSuccessView.jsp 所以登陸之後就跳轉到這裡了。
但是實際需求是通過cas server 登陸之後直接跳轉到摸一個客戶端,解決辦法:
修改前:
<end-state id="viewGenericLoginSuccess" view="casGenericSuccessView"> <on-entry> <evaluate expression="genericSuccessViewAction.getAuthenticationPrincipal(flowScope.ticketGrantingTicketId)" result="requestScope.principal" result-type="org.jasig.cas.authentication.principal.Principal"/> </on-entry> </end-state>
修改後:
<end-state id="viewGenericLoginSuccess" view="externalRedirect:#{flowScope.credential.sys_url}" />
flowScope.credential.sys_url就是我們要跳轉的客戶端url