티스토리 뷰

개발

spring security에서 SavedRequest 정보 가져오기

달리는개발자 2013. 2. 28. 16:21

문제

Spring security 사용 중 Controller에서 SaveRequest에 저장된 redirect url을 가져와야되는 상황이 발생

 

해결

org.springframework.security.web.savedrequest.HttpSessionRequestCache.java

public void saveRequest(HttpServletRequest request, HttpServletResponse response)
    {
        if(requestMatcher.matches(request))
        {
            DefaultSavedRequest savedRequest = new DefaultSavedRequest(request, portResolver);
            if(createSessionAllowed || request.getSession(false) != null)
            {
                request.getSession().setAttribute("SPRING_SECURITY_SAVED_REQUEST", savedRequest);
                logger.debug((new StringBuilder()).append("DefaultSavedRequest added to Session: ").append(savedRequest).toString());
            }
        } else
        {
            logger.debug("Request not saved as configured RequestMatcher did not match");
        }
    }

 

Controller에서 다음과 같이 정보를 얻어옴

SavedRequest savedRequest = (SavedRequest) session.getAttribute("SPRING_SECURITY_SAVED_REQUEST");

 

 

 

반응형
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함