geoinfo_eGov_work/src/main/webapp/G-PIN/Sample-AuthRequest.jsp

69 lines
2.8 KiB
Plaintext

<%@ page language = "java" contentType = "text/html; charset=utf-8"%>
<%@ page import="gov.mogaha.gpin.sp.proxy.*" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ include file="/body/parseData.jsp" %>
<%!
public static String getClientIpAddr(HttpServletRequest request) {
String ip = request.getHeader("X-Forwarded-For");
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("WL-Proxy-Client-IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_CLIENT_IP");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getHeader("HTTP_X_FORWARDED_FOR");
}
if(ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
ip = request.getRemoteAddr();
}
return ip;
}
%>
<%
/**
* 사용자 본인인증을 요청하는 페이지입니다.
* 회원가입, 게시판 글쓰기등 본인인증이 필요한 경우에 이 페이지를 호출하시면 됩니다.
* 인증이 완료되면 session에 사용자정보가 설정됩니다.
* 설정된 사용자 정보를 참조하는 방법은 Sample-AuthResponse를 참조하시기 바랍니다.
*/
// 인증완료후 session에 저장된 사용자정보를 참조할 페이지, (이용기관 인증수신페이지와 다릅니다.)
// TODO 이용기관에서 사용하실 페이지를 지정합니다.
session.setAttribute("gpinAuthRetPage", "/G-PIN/Sample-AuthResponse.jsp");
//session.setAttribute("gpinAuthRetPage", "/acceptanceOfTerms.do");
//session.setAttribute("gpinAuthRetPage", "/body/member/registration.jsp");
// 인증 수신시 요청처와 동일한 위치인지를 확인할 요청자IP를 session에 저장합니다.
session.setAttribute("gpinUserIP", request.getRemoteAddr());
out.println("#########" + request.getRemoteAddr());
GPinProxy proxy = GPinProxy.getInstance(this.getServletConfig().getServletContext());
String requestHTML = "인증요청 메시지생성 실패";
try
{
if (request.getParameter("Attr") != null)
{
requestHTML = proxy.makeAuthRequest(Integer.parseInt(request.getParameter("Attr")));
}
else
{
requestHTML = proxy.makeAuthRequest();
}
}
catch(Exception e)
{
// 에러에 대한 처리는 이용기관에 맞게 처리할 수 있습니다.
e.printStackTrace();
out.println(e.getMessage());
}
// 인증 요청페이지를 생성하여 자동으로 공공I-PIN으로 forwarding 합니다.
out.println(requestHTML);
%>