📄 userinfoutil.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 + -