Skip to content

Схема выхода из CAS

1. Обзор

1.1 Описание проблемы

Настроив FineBI в качестве клиента CAS, вы сможете входить в FineBI через аутентификацию CAS.

Однако существует проблема: если вы выходите из системы принятия решений FineBI, вы попадаете на экран входа в FineBI, а не в систему CAS, что означает, что вы не полностью вышли из системы CAS. Как заставить FineBI выйти из системы CAS и снова войти на страницу входа в CAS после выхода из FineBI? Как показано на рисунке ниже:

1.2 Идеи для решений

Настройте страницу выхода из FineBI и страницу выхода из системы CAS и соотнесите их, чтобы выходить из системы CAS после выхода из FineBI.

2. Операционные шаги

2.1 Настройка серверной части CAS

Измените узел logoutController в файле %TOMCAT_HOME%\webapps\cas\WEB-INF\cas-servlet.xml и найдите следующий код:

  
 <bean id="logoutController" class="org.jasig.cas.web.LogoutController" &  
 nbsp; p:centralAuthenticationService-ref="centralAuthenticationService" &  
 nbsp; p:logoutView="casLogoutView" p:warnCookieGenerator  
 -ref="warnCookieGenerator" p:ticketGrantingTicketCookieGenerator-ref=&  
 quot;ticketGrantingTicketCookieGenerator" p:servicesManager-ref="  
 servicesManager" p:followServiceRedirects="${cas.logout. followServiceRedirects:false}"/>

Измените cas.logout.followServiceRedirects: false на cas.logout.followServiceRedirects:true, чтобы поддерживать ввод параметра службы в качестве пути перехода, когда поддерживается выход из CAS, как показано ниже:

1587462972837011.png

2.2 Настройка стороны FineBI

Нажмите, чтобы загрузить файл web.xml: web.xml

Откройте %TOMCAT_HOME%\webapps\webroot\WEB-INF\web.xml и добавьте следующий код перед первым фитлером:

<!   
   
 -- Заполните URL-адрес выхода --> <context-param> <param-name>   
 casServerLogoutUrl</param-name> <param-value>https://roxy:8443/cas/logout</param   
   
-значение> </context-param> <!   
   
 --- конфигурация одиночного выхода --> <listener> <listener-class>org.   
 jasig.cas.client.session.SingleSignOutHttpSessionListener</listener-class> </listener> &   
   
 nbsp; <фильтр> <filter-name>CAS Single Sign Out&   
 nbsp;Filter</filter-name> <filter-class>org.jasig.cas.client.session.   
   
 SingleSignOutFilter</filter-class> </filter> <filter-mapping>&nbsp.   
; <filter-name>CAS Single Sign Out Filter</filter-name> &   
   
 nbsp; <url-pattern>/*</url-pattern> </filter-mapping>

Как показано на рисунке ниже:

1587463113971072.png

2.3 Добавьте новую страницу logout.jsp

Нажмите, чтобы скачать logout.jsp Файл: logout.jsp

Если вам нужно выйти на страницу выхода из CAS, вы должны переписать страницу выхода, чтобы выйти из системы CAS и снова войти на страницу входа в CAS.

Вам нужно создать файл logout.jsp со следующим содержимым страницы:

Примечание: URL-адрес должен быть изменен в соответствии с реальной ситуацией с доменным именем.

  
 <%@ page language="java" contentType="text/html; charset=UTF-8"  
  
  
pageEncoding="UTF-8"%> <%@ page import="java.io.*,java.util.*" %> <% session.  
removeAttribute("edu.yale.its.tp.cas.client.filter.user"); session.removeAttribute("_const_cas_assertion_");  
  
session.invalidate(); response.sendRedirect("https://roxy:8443/cas/logout?service=https://roxy:8443/webroot/decision/view/  
  
  
  
  
  
  
  
 report?op=fs"); %> <html> <head> <title>Заголовок</title> </head> <body> </body> </html>.

Поместите файл logout.jsp в %TOMCAT_HOME%\webapps\webroot\, как показано ниже:

1587463462817215.png

2.4 Настройка страницы входа в систему принятия решений

После входа в систему Data Decision System под учетной записью администратора откройте раздел "Управление системой > Конфигурация внешнего вида > Страница выхода" и установите страницу выхода из системы на logout.jsp, как показано на следующем рисунке:

После сохранения перезапустите сервер Tomcat, и вы увидите вышеуказанный эффект выхода.

3. просмотр результатов

См. раздел 1.1 "Описание проблемы" в этом документе.

4. условия

4.1 Невозможно найти файл cas-servlet.xml

Описание проблемы

После успешного выполнения единой точки CAS пользователя, при выходе из CAS в соответствии с данным документом, файл cas-servlet.xml не найден в шагах раздела 2.1.

Рецепт

Скачать файл:cas.zip

Распакуйте загруженный пакет, скопируйте и вставьте папку casв%TOMCAT_HOME%\webapps, как показано ниже:

1619667026922915.png