package com.northglass.Globel;
|
import java.io.Reader;
|
import java.io.IOException;
|
import java.io.InputStream;
|
import java.sql.Connection;
|
import java.sql.DriverManager;
|
import java.sql.ResultSet;
|
import java.sql.SQLException;
|
import java.io.InputStreamReader;
|
import java.io.BufferedReader;
|
import org.springframework.core.io.Resource;
|
import org.json.JSONException;
|
import org.json.JSONObject;
|
import org.springframework.core.io.ClassPathResource;
|
import org.springframework.core.io.support.PropertiesLoaderUtils;
|
import com.northglass.SqlHelper.DBHelper;
|
import com.northglass.SqlHelper.DBSession;
|
import com.northglass.SqlHelper.DBSession.SelectResult;
|
|
import org.springframework.web.context.request.RequestContextHolder;
|
import org.springframework.web.context.request.ServletRequestAttributes;
|
|
import javax.servlet.ServletInputStream;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpSession;
|
public class mes {
|
|
|
static DBHelper sqlserver;
|
static DBHelper mesdb;
|
static java.util.Properties prop;
|
|
public static String getRequestBody(HttpServletRequest request){
|
ServletInputStream st;
|
try {
|
st = request.getInputStream();
|
Reader reader = new InputStreamReader(st,"utf-8");
|
BufferedReader br = new BufferedReader(reader,512*8);
|
StringBuilder sb = new StringBuilder();
|
int value;
|
while ((value = br.read()) != -1) {
|
sb.append((char)value);
|
}
|
return sb.toString();
|
} catch (IOException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
return null;
|
}
|
|
|
}
|
|
|
|
static String getCurrentUser(){
|
|
HttpSession request = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest().getSession();
|
|
return request.getAttribute("org.apache.shiro.subject.support.DefaultSubjectContext_PRINCIPALS_SESSION_KEY").toString();
|
|
}
|
|
public static void setSession(String name,String Value){
|
|
HttpServletRequest rq=((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
|
rq.getSession().setAttribute(name, Value);
|
}
|
|
static void initSession(){
|
|
DBSession sn=null;
|
String user=null;
|
String roles=null;
|
String group=null;
|
String machine=null;
|
try{
|
String s=getCurrentUser();
|
System.out.println("user="+s);
|
sn=mes.getMesDBHelper().createSession(false);
|
sn.createSql("select `name`,roles,groups,`segment` from gmms_user where login_name='"+s+"'");
|
ResultSet r= sn.query().getCurrentResult();
|
if(r.next()){
|
|
user=r.getString(1);
|
roles=r.getString(2);
|
group=r.getString(3);
|
machine=r.getString(4);
|
|
}
|
sn.close();
|
|
setSession("gmms_user",user);
|
setSession("gmms_roles",roles);
|
setSession("gmms_groups",group);
|
setSession("segment",machine);
|
}
|
catch(Exception e){
|
e.printStackTrace();
|
}
|
}
|
|
public static String getSession(String name){
|
|
HttpServletRequest rq=((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
|
Object o=rq.getSession().getAttribute(name);
|
if(o==null){
|
System.out.println("init");
|
initSession();
|
}
|
return (String)rq.getSession().getAttribute(name);
|
}
|
|
|
|
|
|
|
|
public static DBHelper getMesDBHelper() {
|
if(mesdb==null){
|
try{
|
mesdb=new DBHelper(mes.getPropertiesResource("jdbc.url"),mes.getPropertiesResource("jdbc.username"),mes.getPropertiesResource("jdbc.password"));
|
}
|
catch(Exception e){
|
|
}
|
}
|
return mesdb;
|
}
|
|
|
|
|
public static void initResource(){
|
initProp();
|
|
|
|
}
|
|
static void initProp(){
|
|
try{
|
Resource resource = new ClassPathResource("application.properties");
|
prop = PropertiesLoaderUtils.loadProperties(resource);
|
} catch (IOException e) {
|
// TODO Auto-generated catch block
|
e.printStackTrace();
|
}
|
finally{
|
|
}
|
}
|
|
|
public static String getPropertiesResource(String key) throws IOException{
|
if(prop==null){
|
Resource resource = new ClassPathResource("application.properties");
|
prop = PropertiesLoaderUtils.loadProperties(resource);
|
}
|
return prop.getProperty(key);
|
}
|
}
|