2016-01-21 6 views
4

Я использую Jasig CAS в приложении Spring. Конфигурация компонента фильтра проверки подлинности CAS выглядит так:Перенаправление на последнюю страницу, запрошенную после входа в систему с помощью Jasig CAS

<bean id="authenticationFilter" class="org.jasig.cas.client.authentication.AuthenticationFilter"> 
    <property name="casServerLoginUrl" value="https://localhost:8443/cas/login"/> 
    <property name="service" value="https://localhost:8443/myapp/index.html"/> 
</bean> 

I.e. с одной стороны, фильтр аутентификации будет перенаправлен на url, указанный в свойстве casServerLoginUrl, а с другой стороны сервер CAS перенаправит обратно на URL-адрес, указанный в свойстве service.

Есть ли способ сделать значение service недвижимости динамическим? Я бы хотел, чтобы он содержал последний запрошенный URL до входа в систему и, соответственно, перенаправлял этот URL после успешного входа в систему CAS.

+0

Неужели вы нашли работу для этого? – Ani

ответ

1

Вы можете использовать service параметры на стороне клиента при вызове страницы, саз Войти

https://yourcas.com/cas/login?service=urlservice 

CAS перенаправить клиента к этому URL после успешной аутентификации

+1

да, но как заставить этот параметр быть динамическим, т. Е. Принимать разные значения (не только одно постоянное значение)? –

1

Как параметр обслуживания идентифицирует службу на CAS-сервере его нельзя динамически изменять. Проблема заключается в том, что сервер CAS использует служебный параметр для идентификации И как URL-адрес перенаправления.

Если вы манипулируете URL-адресом службы/перенаправления в «CasAuthenticationFilter», чтобы ваше клиентское приложение устанавливало параметр службы на текущий запрос url, тогда cas создаст билет для этого конкретного URL-адреса. Это означает, что проверка билетов не удастся и 2. Cas-Server создаст новый билет для каждой запрашиваемой страницы на клиентском приложении.

Смежные вопросы