반응형
로그인 페이지에서 URL을 HTTPS://로 저장을 해서 보낸 다음, Controller에서 HttpServletReqeust을 통해 request를 받는데, 이 request에 들어 있는 URL은 HTTP://가 들어 있었다.
아래와 같이, RequestMapping을 통해 Controller로 가고, request에서 getRequestURL() 함수를 통해 URL을 가져왔다. 근데, 왜 request에 HTTP://로 받아오는지 도저히 모르겠어서 임시 처방만 했다.
@RequestMapping("/SSO/Test.*")
public String Test(HttpSession session, HttpServletRequest request, Map model, @RequestParam(required = false)String code) throws Exception{
URI = request.getRequestURL().toString();
}
아래처럼, request에서 URL을 String으로 바꿔서 이 URL을 http://와 https://를 구분하여 true와 false를 리턴하는 isSecure() 함수를 사용해서 분기처리했다. 그런 다음, http://를 https://로 replace해서 임시처방 끝.
@RequestMapping("/SSO/Test.*")
public String Test(HttpSession session, HttpServletRequest request, Map model, @RequestParam(required = false)String code) throws Exception{
URI = request.getRequestURL().toString();
if(request.isSecure() || !"LC".equals(CommonConfig.SERVER_TYPE)) {
URI = URI.replace("http://", "https://");
}
}
반응형
최근댓글