2012-07-16 3 views
2

Я осуществил интеграцию 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, тогда я столкнулся с проблемой, когда параметры сообщения объединяются после каждого запроса.

Может ли кто-нибудь указать правильный путь вперед?

ответ

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