package addressbook;

import javax.servlet.http.HttpSession;

/**
 * セッションによる認証を取扱うクラス
 */
public class CertificationBean {
	
	String userid ;   // ユーザID
	String username ; // ユーザ名
	
	/**
	 * コンストラクタ
	 */
	public CertificationBean(){
	}

	/**
	 * セッション内のユーザ情報をCertificationBeanに取得する
	 * @param session
	 */
	public void getSessionInfo(HttpSession session){
		//セッションからユーザ名とユーザIDを取得する
		this.setUsername((String)session.getAttribute("username"));
		this.setUserid((String)session.getAttribute("userid"));
		//タイムアウト期間を再設定する
		session.setMaxInactiveInterval(1800);
	}
	
	/**
	 * セッションからユーザ情報を設定し 
	 * ユーザがログインしているかどうか調べる
	 * @param session
	 */
	public boolean checkUserExist(HttpSession session){
		//セッション情報を設定する
		this.getSessionInfo(session);
		//ユーザ名がnullかどうか調べる
		if(this.username == null){
			return false;
		}
		else{
			return true;
		}
	}
	
	/**
	 * セッションからユーザ情報を設定し
	 * ユーザ名が管理者（admin）かどうか調べる
	 * @param session
	 */
	public boolean checkAdminUserExist(HttpSession session){
		//セッション情報を設定する
		this.getSessionInfo(session);
		//ユーザ名がadminかつユーザIDが000001であることを調べる
		if(this.username != null && this.getUsername().equals("admin")
				&& this.getUserid().equals("000001")){
			return true;
		}
		else{
			return false;
		}
	}

	/**
	 * ユーザ名を設定する
	 * @param username
	 */
	public void setUsername(String username){
		this.username = username;
	}
	
	/**
	 * ユーザ名を取得する
	 * @return
	 */
	public String getUsername(){
		return this.username;
	}

	/**
	 * ユーザIDを設定する
	 * @param username
	 */
	public void setUserid(String userid){
		this.userid = userid;
	}
	
	/**
	 * ユーザID取得する
	 * @return
	 */
	public String getUserid(){
		return this.userid;
	}
}

