Я осуществил интеграцию OpenId пружины безопасности с помощью образца имеющегося здесь: OpenId+Spring IntegrationПеренаправления оригинала (неаутентифицированной страница) после аутентификации OpenId пружины безопасности
Интеграции работает нормально. Когда я запрашиваю защищенный ресурс, я перенаправляюсь на страницу входа, и после проверки подлинности я автоматически перенаправляюсь на защищенный ресурс.
Однако, если я на незащищенной странице (аналогично описанной здесь ситуации: http://forum.springsource.org/showthread.php?95317-Redirect-to-original-page-after-login-success-failure), и я нажимаю кнопку входа в систему. Я перехожу на домашнюю страницу после входа в систему. Я хотел бы быть перенаправлен на страницу, где я нажал кнопку входа.
Весенняя нить форума предлагает переопределить метод buildReturnToUrl. Я отлаживал его. Он всегда порождает returnToURL формы:
http://localhost:8080/listocal/j_spring_openid_security_check
Существовал некоторые позади сцены общения между ором и Робами Лебедкой, и я не знаю, как на самом деле оп переписал его.
Кроме того, я попытался создать еще один фильтр с кодом, как это:
public void doFilter(....) {
...
DefaultSavedRequest savedRequest = new DefaultSavedRequest((HttpServletRequest) request, new PortResolverImpl());
((HttpServletRequest)request).getSession().setAttribute("SPRING_SECURITY_SAVED_REQUEST", savedRequest);
}
Если этот фильтр работает до OpenIDAuthenticationFilter то savedrequest удаляют путем RequestCacheAwareFilter (вероятно, из-за этого вопроса: https://jira.springsource.org/browse/SEC-1241)
Если этот фильтр запускается после OpenIDAuthenticationFilter, тогда я столкнулся с проблемой, когда параметры сообщения объединяются после каждого запроса.
Может ли кто-нибудь указать правильный путь вперед?
Prashant У вас есть демо-версия? –