Package com.exedosoft.plat.login

Source Code of com.exedosoft.plat.login.LoginMainStu


package com.exedosoft.plat.login;



import com.exedosoft.plat.bo.BOInstance;
import java.util.List;
import java.util.ArrayList;
import java.net.URLDecoder;
import java.util.Iterator;
import java.util.Hashtable;
import com.exedosoft.plat.util.id.UUIDHex;
import com.exedosoft.plat.bo.*;
import java.lang.*;
import java.text.*;
import java.util.Iterator;
import java.net.URLEncoder;

import com.exedosoft.plat.util.DOGlobals;
import com.exedosoft.plat.util.StringUtil;
  import com.exedosoft.plat.SessionContext;


import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;

import com.exedosoft.plat.bo.DOService;
import javax.servlet.http.HttpServletRequest;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
//
//import cn.com.jit.assp.ias.principal.UserPrincipal;
//import cn.com.jit.assp.ias.saml.X509.X509Constants;
//import cn.com.jit.assp.ias.saml.saml11.SAMLAttributes;
//import cn.com.jit.assp.ias.saml.saml11.SAMLConstants;
//import cn.com.jit.assp.ias.sp.saml11.SPUtil;

import com.exedosoft.plat.ExedoException;
import com.exedosoft.plat.SessionContext;
import com.exedosoft.plat.bo.BOInstance;
import com.exedosoft.plat.bo.DOBO;
import com.exedosoft.plat.bo.DOService;

public class LoginMainStu {

  private static Log log = LogFactory.getLog(LoginMainStu.class);
  private static DOService insertLoginLog = DOService.getService("do.log.insert");
  // ////////////刷新当前登录单位
  private static DOBO aDeptBO = DOBO.getDOBOByName("do.bx.dept");



  // private static Object lockObj = new Object();

  public static int makeLogin(BOInstance user,HttpServletRequest request) {
 

    user.putValue("deptuid", user.getValue("dept_uid"));


    BOInstance biDept = null;
    if (aDeptBO != null) {
      biDept = aDeptBO.refreshContext(user.getValue("dept_uid"));
      System.out.println("登陆部门:::::::::;" + biDept);
      if (biDept != null) {
        user.putValue("deptobject", biDept);
        user.putValue("deptname", biDept.getName());
      }
    }
   
      List gradeCounts=null;
      DOService studentGrade = DOService.getService("tbstudent.browseGrade");
      gradeCounts=studentGrade.invokeSelect(user.getUid());
      String gradeInfor="";
      for (Iterator it =gradeCounts.iterator();it.hasNext();){
        BOInstance dData=(BOInstance) it.next();
        gradeInfor=dData.getValue("fdgrade");
      }
     
     
    System.out.println("gradeInfor::" + gradeInfor);
    user.putValue("grade_login", gradeInfor);

    // /////////////国土专用,user 同时携带行政区代码 createb by weikx at 070706
    // 其它login可以去掉

    if (biDept != null) {
      user.putValue("deptcode", biDept.getValue("code"));
    }
   
   

    SessionContext us = (SessionContext) request.getSession().getAttribute(
        "userInfo");
    if(us == null){
      us = new SessionContext();
      request.getSession().setAttribute("userInfo", us);
    }


 
    us.setSysTreeRoot(user.getValue("user_name"));
    us.setUser(user);
    us.setIp(DOGlobals.getInstance().getServletContext().getRequest()
        .getRemoteAddr());
    us.setSessionuid(DOGlobals.getInstance().getServletContext().getRequest().getSession().getId());
   
// 
//    BOInstance aInsertLog = new BOInstance();
//    aInsertLog.putValue("userName", user.getName());
//    aInsertLog.putValue("ip", us.getIp());
//    aInsertLog.putValue("sessionid", us.getSessionuid());
//    try {
//      // synchronized(lockObj){
//      insertLoginLog.invokeUpdate(aInsertLog);
//      // }
//    } catch (ExedoException e) {
//      // TODO Auto-generated catch block
//      log.info(e.fillInStackTrace());
//    }

    // /////海洋局文档系统
//    DOService findMaxDegree = DOService
//        .getService("do.bx.findmaxdegreeofuser");
//
//    String maxDegree = "0";
//    if (findMaxDegree != null) {
//      maxDegree = findMaxDegree.invokeSelectGetAValue(user.getUid());
//
//      if (maxDegree == null || "".equals(maxDegree.trim())) {
//        maxDegree = "0";
//      }
//      log.info("该用户的权限级别是:" + maxDegree);
//    }

    // System.out.println("llllllllllll"
    // + DOGlobals.getInstance().getServletContext().getRequest()
    // .getSession().getAttribute("userInfo"));

    // ///////对于国土资源部项目,为了更好得区分探矿,采矿,地质勘查资质而加的属性
    // /////////1,探矿,2,采矿,3,采矿探矿都有 ..........向后扩展
    // /////////
    List roles = getCorrRoles(user.getUid());
    if (roles.size() > 0) {
      int iJudge = 0;
      for (Iterator it = roles.iterator(); it.hasNext();) {
        String aRole = (String) it.next();
        if ("qtsy_sq_phsq".equalsIgnoreCase(aRole)) {
          user.putValue("gtType", "2");
          iJudge++;
        }
        if ("qtsy_sq_tkq".equalsIgnoreCase(aRole)) {
          user.putValue("gtType", "1");
          iJudge++;
        }
        if("qtsy_leader".equalsIgnoreCase(aRole)){
          iJudge++;
          iJudge++;
          user.putValue("gtType", "3");
          user.putValue("readonly", "readonly");
        }
      }
      if (iJudge >= 2) {
        user.putValue("gtType", "3");
      }
      if("admin".equals(user.getName())){
        user.putValue("gtType", "3");
      }
      log.info("国土资源部专用:该用户的类别是:" + user.getValue("gtType"));

    }
   
  //  jit();
 
   
    /////////////////初始化全局参数,其实应该放入DOGlobals 里面作为全局变量,但是平台还不直接支持全局变量,只能先这样
    DOBO doGlobals = DOBO.getDOBOByName("do.globals");
    if(doGlobals!=null){
      doGlobals.refreshContext("000000");
    }

    //100000
   
    return 5;
  }
 
 
//  private static void jit(){
//   
//   
//   
//    UserPrincipal p = SPUtil.getUserPrincipal(DOGlobals.getInstance().getServletContext().getRequest());
////    获取用户令牌ID
//    String tokenId=(String)p.getAttribute(SAMLConstants.KEY_SAML_ATTR_ID);
////    获取用户属性集合
//    SAMLAttributes attrs =(SAMLAttributes)p.getAttribute
//    (SAMLConstants.KEY_SAML_ATTR_STATEMENT_ATTRIBUTES);
////    如果是证书用户,可查询证书的DN
//      List values=attrs.getAttributeValue(
//    X509Constants.KEY_SAML_X509_SUBJECT_DN,
//    X509Constants.VALUE_X509_NAMESPACE);
//    String subjectDN=(String)values.get(0); //证书主题为单值属性
// 
//       
//    System.out.println(subjectDN);
//    System.out.println(subjectDN);
//    System.out.println(subjectDN);
//    System.out.println(subjectDN);
//    System.out.println(subjectDN);
//    System.out.println(subjectDN);
// 
//   
//
//   
//   
//  }

  private HashMap getAllDepts() {
    DOService searchDepts = DOService.getService("do.bx.dept.list");
    HashMap allDepts = new HashMap();
    List depts = searchDepts.invokeSelect();
    if (depts != null) {
      for (Iterator it = depts.iterator(); it.hasNext();) {
        BOInstance deptBI = (BOInstance) it.next();
        allDepts.put(deptBI.getValue("code"), deptBI.getName());
      }
    }
    return allDepts;
  }

  public static List getCorrRoles(String accountUid) {

    DOService findUserService = DOService
        .getService("do.bx.role.findbyuserid");
    if (findUserService == null) {
      return null;
    }
    List listRoles = findUserService.invokeSelect(accountUid);
    List corrRoles = new ArrayList();
    if (listRoles != null) {
      for (Iterator roles = listRoles.iterator(); roles.hasNext();) {
        BOInstance boRole = (BOInstance) roles.next();
        // System.out.println(boRole);
        corrRoles.add(boRole.getValue("roleid"));
      }
      return corrRoles;
    }
    return null;

  }

  /**
   * @param args
   */
  public static void main(String[] args) {
    // TODO Auto-generated method stub
    LoginMainStu lm = new LoginMainStu();
    List roles = lm.getCorrRoles("6669");
    System.out.println(roles);

  }

}
TOP

Related Classes of com.exedosoft.plat.login.LoginMainStu

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.