/*
 * @(#)LoginServlet.java
 *
 * Copyright (C) 2006 Infocity Inc. All Rights Reserved.
 */
package sample;

import info.dragonlady.sso.helper.LoginManager;

import java.io.IOException;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * ログイン処理サーブレット。
 * 
 * @author Hiroshi.Ebata(INFOCITY)
 * @version $Revision: 1.0 $ $Date: 2006/10/19 19:10:52 $
 */
public class LoginServlet extends HttpServlet {

	/**
	 * コンストラクタ。
	 */
	public LoginServlet() {
		super();
	}

	/* (非 Javadoc)
	 * @see javax.servlet.http.HttpServlet#service(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse)
	 */
	protected void service(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		try {
			// ダミー（受け取ったIDをセッションに登録）
			String userId = request.getParameter("user_id");
			HttpSession session = request.getSession();
			session.setAttribute("user_id", request.getParameter("user_id"));
			LoginManager.getInstance().add(userId, session.getId());

			// セッションに目的サイトが登録されている場合、目的サイトへリダイレクト
			String target = (String)session.getAttribute("target");
			// 目的サイトが登録されていなければ、通常ログイン後のページへリダイレクト
			if(target == null || target.length() < 1) {
				target = "/sso_sample/main.html";
			}
			response.sendRedirect(target);
		} catch(Exception e) {
			throw new ServletException(e);
		}
	}

}
