package com.vci.server.mw;
|
|
import com.vci.corba.common.data.VCIInvocationInfo;
|
|
public class ServerContextVariable {
|
private static VCIInvocationInfo _vcii = null;
|
|
public static void setInvocationInfo(VCIInvocationInfo vcii) {
|
ServerContextVariable._vcii = vcii;
|
}
|
|
/**
|
* 返回与客户端(会话)上下文相关的 VCIInvocationInfo
|
* <p>
|
* 同时兼容的富客户端、WEB客户端调用,前提条件:必须登录是登录后调用生效
|
* </p>
|
*
|
* @return
|
*/
|
public static VCIInvocationInfo getInvocationInfo() {
|
|
return _vcii;
|
}
|
|
/**
|
* 获取客户端登录IP
|
*
|
* @return
|
*/
|
public static String getClientIp() {
|
VCIInvocationInfo info = getInvocationInfo();
|
if (info == null) {
|
return "";
|
}
|
return info.clientIPInfo;
|
}
|
|
/**
|
* 获取客户端登录机器名
|
*
|
* @return
|
*/
|
public static String getClientMachine() {
|
VCIInvocationInfo info = getInvocationInfo();
|
if (info == null) {
|
return "";
|
}
|
return info.clientMachine;
|
}
|
|
/**
|
* 获取客户端登录机器的操作系统
|
*
|
* @return
|
*/
|
public static String getClientOS() {
|
VCIInvocationInfo info = getInvocationInfo();
|
if (info == null) {
|
return "";
|
}
|
return info.clientOS;
|
}
|
|
public static String getClientOSUser() {
|
VCIInvocationInfo info = getInvocationInfo();
|
if (info == null) {
|
return "";
|
}
|
return info.clientOSUser;
|
}
|
|
/**
|
* 获取全局变量的值
|
*
|
* @param info
|
* @param key
|
* @return
|
*/
|
public static String getVariablebyKey(VCIInvocationInfo info, String key) {
|
String exAttrs[] = info.extAttribs;
|
for (int i = 0; i < exAttrs.length; i++)
|
if (exAttrs[i] != null
|
&& exAttrs[i].indexOf((new StringBuilder(String.valueOf(key))).append("=").toString()) == 0)
|
return exAttrs[i].split("=").length > 1 ? exAttrs[i].split("=")[1] : "";
|
|
return "";
|
}
|
|
/**
|
* 获取全局变量的值
|
*
|
* @param key
|
* @return
|
*/
|
public static String getVariablebyKey(String key) {
|
VCIInvocationInfo info = getInvocationInfo();
|
if (info == null)
|
return "";
|
String exAttrs[] = info.extAttribs;
|
for (int i = 0; i < exAttrs.length; i++)
|
if (exAttrs[i] != null
|
&& exAttrs[i].indexOf((new StringBuilder(String.valueOf(key))).append("=").toString()) == 0)
|
return exAttrs[i].split("=").length > 1 ? exAttrs[i].split("=")[1] : "";
|
|
return "";
|
}
|
|
/**
|
* 获取用户ID
|
*
|
* @return
|
*/
|
public static String getUserId() {
|
VCIInvocationInfo info = getInvocationInfo();
|
if (info == null) {
|
return "";
|
}
|
return getVariablebyKey(info, "CURRENTUSER.ID");
|
}
|
|
/**
|
* 获取当前登录用户的用户名
|
*
|
* @return
|
*/
|
public static String getUserName() {
|
VCIInvocationInfo info = getInvocationInfo();
|
if (info == null) {
|
return "";
|
}
|
return getVariablebyKey(info, "CURRENTUSER.NAME");
|
}
|
|
/**
|
* 获取当前用户的密级
|
*
|
* @return
|
*/
|
public static String getUserSecret() {
|
VCIInvocationInfo info = getInvocationInfo();
|
if (info == null) {
|
return "";
|
}
|
return getVariablebyKey(info, "CURRENTUSER.SECRETGRADE");
|
}
|
|
/**
|
* 获取当前用户的email地址
|
*
|
* @return
|
*/
|
public static String getUserEmail() {
|
VCIInvocationInfo info = getInvocationInfo();
|
if (info == null) {
|
return "";
|
}
|
return getVariablebyKey(info, "CURRENTUSER.EMAIL");
|
}
|
|
/**
|
* 获取当前用户所在组的组号
|
*
|
* @return
|
*/
|
public static String getUserGroupNum() {
|
VCIInvocationInfo info = getInvocationInfo();
|
if (info == null) {
|
return "";
|
}
|
return getVariablebyKey(info, "CURRENTUSER.GROUPNUM");
|
}
|
|
/**
|
* 获取登录用户使用的计算机机器密级
|
*
|
* @return
|
*/
|
public static String getMachineSecret() {
|
VCIInvocationInfo info = getInvocationInfo();
|
if (info == null) {
|
return "";
|
}
|
return getVariablebyKey(info, "CURRENTMACHINE.SECRET");
|
}
|
|
/**
|
* 获取系统的密级开关值,on为打开,off为关闭
|
*
|
* @return
|
*/
|
public static String getIpSecretSwitch() {
|
VCIInvocationInfo info = getInvocationInfo();
|
if (info == null) {
|
return "";
|
}
|
return getVariablebyKey(info, "IPSECRETSWITCH");
|
}
|
|
/**
|
* 获取系统的用户密级开关值,on为打开,off为关闭
|
*
|
* @param userName 当前登录的用户名
|
* @return
|
*/
|
public static String getUserSecretSwith() {
|
VCIInvocationInfo info = getInvocationInfo();
|
if (info == null) {
|
return "";
|
}
|
return getVariablebyKey(info, "USERSECRETSWITCH");
|
}
|
|
/**
|
* 获取用户部门名称
|
*
|
* @return
|
*/
|
public static String getGroupName() {
|
VCIInvocationInfo info = getInvocationInfo();
|
if (info == null) {
|
return "";
|
}
|
return getVariablebyKey(info, "CURRENTUSER.GROUPNAME");
|
}
|
}
|