'스프링시큐리티'에 해당되는 글 1건

  1. 2009.10.16 [봄싹] spring security login 후 리턴 url 설정하기. (2)
봄싹2009. 10. 16. 00:41
spring security 3.0 m2 기준 .

AbstractAuthenticationTargetUrlRequestHandler.java

66 line ~~

private String determineTargetUrl(HttpServletRequest request, HttpServletResponse response) { if (isAlwaysUseDefaultTargetUrl()) { return defaultTargetUrl; } // Check for the parameter and use that if available String targetUrl = request.getParameter(targetUrlParameter); if (StringUtils.hasText(targetUrl)) { try { targetUrl = URLDecoder.decode(targetUrl, "UTF-8"); } catch (UnsupportedEncodingException e) { throw new IllegalStateException("UTF-8 not supported. Shouldn't be possible"); } logger.debug("Found targetUrlParameter in request: " + targetUrl); return targetUrl; } if (useReferer && !StringUtils.hasLength(targetUrl)) { targetUrl = request.getHeader("Referer"); logger.debug("Using Referer header: " + targetUrl); } if (!StringUtils.hasText(targetUrl)) { targetUrl = defaultTargetUrl; logger.debug("Using default Url: " + targetUrl); } return targetUrl; }


위에 놈은 최종적으로 로그인 프로세스를 탄후에 .. 리턴을 해주는 url을 구하는 부분입니다.
alwaysUseDefaultTargetUrl 이 우선적으로 false 이고 .. (기본값 false)
request.getParameter(targetUrlParameter); 이놈 즉..
파라미터에 targetUrlParameter 이름. 즉

public static String DEFAULT_TARGET_PARAMETER = "spring-security-redirect";
private String targetUrlParameter = DEFAULT_TARGET_PARAMETER;

이놈을 설정해주면 ..
로그인 후에 원하는 페이지로 보낼 수 있습니다..
안정한다면 기본으로 정한 default 페이지로 날라가구요 ..ㅎㅎ

머.. 그냥 기억용으로 남김.
Posted by is윤군

댓글을 달아 주세요

  1. 저기..궁금한점이 있는데요
    뷰를 어떻게 string으로 바로 하셨죠?..
    저는 jsp랑 tiles설정만 해놨는데 어떻게 하셨는지 알려주세요..ㅎㅎ

    2009.12.26 02:17 [ ADDR : EDIT/ DEL : REPLY ]
    • 저도 궁금한게 있는데요... 뷰를 어떻게 스트링으로 바로 했냐라는 질문이 좀 ? 궁금해지네요 ..

      저건 시큐리티. 3.0 m2 기준의 원본 소스이구요..

      바로 위에 라인 보면 ..

      protected void handle(HttpServletRequest request, HttpServletResponse response, Authentication authentication)
      throws IOException, ServletException {
      String targetUrl = determineTargetUrl(request, response);

      RedirectUtils.sendRedirect(request, response, targetUrl, useRelativeContext);
      }

      이런 놈이 있죠 ..;; 그냥 url을 리다이렉트 시키죠 ;; 그리고 이건... ajax 로그인시에 리다이렉트 해버려서... 봄싹에선 살짝 수정해서 쓰고 있죠 ;;ㅎ

      2009.12.28 13:16 신고 [ ADDR : EDIT/ DEL ]