⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 userinfoutil.java

📁 intra_mart是日本NDD公司开发的著名企业应用解决方案中间件。集成了J2ee服务器
💻 JAVA
字号:
/*
 * UserInfoUtil.java
 *
 * Created on 2005/4/13
 */
package jp.co.intra_mart.framework.base.util;

import java.io.Serializable;
import java.util.Date;
import java.util.Locale;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import jp.co.intra_mart.foundation.security.AccessSecurityManager;
import jp.co.intra_mart.foundation.security.SecurityConstraint;
import jp.co.intra_mart.foundation.security.SessionInfo;
import jp.co.intra_mart.foundation.security.exception.AccessSecurityException;

/**
 * 儘僌僀儞儐乕僓偺忣曬偵娭偡傞儐乕僥傿儕僥傿僋儔僗偱偡丅
 *
 * @author INTRAMART
 * @since 5.0
 * @version 1.0
 */
public class UserInfoUtil {

	/**
	 * 僗乕僷乕儐乕僓
	 */
	public static final String LT_SUPER = SecurityConstraint.LT_SUPER;

	/**
	 * 僌儖乕僾儅僱乕僕儍
	 */
	public static final String LT_GROUP = SecurityConstraint.LT_GROUP;

	/**
	 * 儐乕僓
	 */
	public static final String LT_USER = SecurityConstraint.LT_USER;

    private UserInfoUtil(){}

	/**
	 * intra-mart偺僙僢僔儑儞忣曬偐傜UserInfo傪怴婯偵惗惉偟傑偡丅
	 * 
	 * @param request 儕僋僄僗僩
	 * @param response 儗僗億儞僗
	 * @return 儘僌僀儞儐乕僓偺忣曬
	 * @throws UserInfoException UserInfo惗惉帪偵椺奜偑敪惗丅
	 */
	public static UserInfo createUserInfo(HttpServletRequest request, HttpServletResponse response) throws UserInfoException {
		UserInfoImpl userInfo = null;
        try {
			SessionInfo info = AccessSecurityManager.getInstance().getSessionInfo(request, response);
			if(info == null) {
				throw new UserInfoException("SessionInfo is null.");
			}
			
			// 儘働乕儖傪暥帤楍偵曄姺
			String language = null;
			String country = null;
			String variant = null;
			if(info.getLocale() != null) {
				language = info.getLocale().getLanguage();
				country = info.getLocale().getCountry();
				variant = info.getLocale().getVariant();
			}
			
			userInfo = new UserInfoImpl(
					info.getClientType(),
					info.getColorPatternId(),
					info.getEncoding(),
					language,
					country,
					variant,
					info.getLoginGroup(),
					info.getLoginTime(),
					info.getLoginType(),
					info.getUser()
					);
		} catch (AccessSecurityException e) {
	        throw new UserInfoException(e.getMessage(), e);
	    }
    	return userInfo;
	}
	
    /**
     * UserInfo偺幚憰僋儔僗偱偡丅
     *  
     * @author INTRAMART
     */
	private static class UserInfoImpl implements UserInfo, Serializable {

    	private String clientType = null;

    	private String colorPatternID = null;
    	
    	private String encoding = null;
  
    	private String language = null;
    	
    	private String country = null;
    	
    	private String variant = null;
    	
    	private String loginGroupID = null;
    	
    	private Date loginTime = null;
    	
    	private String loginType = null;
    	
    	private String signature = null;
    	
    	private String url = null;
    	
    	private String urlSignature = null;
    	
    	private String userID = null;

    	/**
    	 * UserInfoImpl傪怴婯偵嶌惉偟傑偡丅
    	 * 
    	 * @param info 儘僌僀儞儐乕僓忣曬
    	 */
    	public UserInfoImpl(
    			String clientType,
				String colorPatternId,
				String encoding,
				String language,
				String country,
				String variant,
				String loginGroup,
				Date loginTime,
				String loginType,
				String user) {
    		
    		setClientType(clientType);
    		setColorPatternID(colorPatternID);
    		setEncoding(encoding);
    		setLoginGroupID(loginGroup);
    		setLoginTime(loginTime);
    		setLoginType(loginType);
    		setUserID(user);
    		
    		this.country = country;
    		this.language = language;
    		this.variant = variant;
    	}
    	
		/**
		 * @return clientType 傪栠偟傑偡丅
		 */
		public String getClientType() {
			return clientType;
		}
		
		/**
		 * @param clientType clientType 傪愝掕丅
		 */
		private void setClientType(String clientType) {
			this.clientType = clientType;
		}
		
		/**
		 * @return colorPatternID 傪栠偟傑偡丅
		 */
		public String getColorPatternID() {
			return colorPatternID;
		}
		
		/**
		 * @param colorPatternID colorPatternID 傪愝掕丅
		 */
		private void setColorPatternID(String colorPatternID) {
			this.colorPatternID = colorPatternID;
		}
		
		/**
		 * @return encoding 傪栠偟傑偡丅
		 */
		public String getEncoding() {
			return encoding;
		}
		
		/**
		 * @param encoding encoding 傪愝掕丅
		 */
		private void setEncoding(String encoding) {
			this.encoding = encoding;
		}
		
		/**
		 * @return locale 傪栠偟傑偡丅
		 */
		public Locale getLocale() {
    		if(language != null && country != null && variant != null) {
    			return new Locale(language, country, variant);
    		} else if(language != null && country != null) {
    			return new Locale(language, country);
    		} else if(language != null) {
    			return new Locale(language);
    		}
    		return null;
		}
		
		/**
		 * @return loginGroupID 傪栠偟傑偡丅
		 */
		public String getLoginGroupID() {
			return loginGroupID;
		}
		
		/**
		 * @param loginGroupID loginGroupID 傪愝掕丅
		 */
		private void setLoginGroupID(String loginGroupID) {
			this.loginGroupID = loginGroupID;
		}
		
		/**
		 * @return loginTime 傪栠偟傑偡丅
		 */
		public Date getLoginTime() {
			return loginTime;
		}
		
		/**
		 * @param loginTime loginTime 傪愝掕丅
		 */
		private void setLoginTime(Date loginTime) {
			this.loginTime = loginTime;
		}
		
		/**
		 * @return loginType 傪栠偟傑偡丅
		 */
		public String getLoginType() {
			return loginType;
		}
		
		/**
		 * @param loginType loginType 傪愝掕丅
		 */
		private void setLoginType(String loginType) {
			this.loginType = loginType;
		}
		
		/**
		 * @return userID 傪栠偟傑偡丅
		 */
		public String getUserID() {
			return userID;
		}
		
		/**
		 * @param userID userID 傪愝掕丅
		 */
		private void setUserID(String userID) {
			this.userID = userID;
		}
    }
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -