예제 #1
0
 public LoginManagerTest()
 {
     _ConfigMock    = new Mock <IConfiguration>();
     _ContextMock   = new Mock <IHttpContextAccessor>();
     _DataMock      = new Mock <IDataProtectionProvider>();
     _RequestMock   = new Mock <IRequestManger>();
     _dataProtector = new Mock <IDataProtector>();
     _loginManager  = new loginManager(_ContextMock.Object, _RequestMock.Object, _DataMock.Object, _ConfigMock.Object);
 }
예제 #2
0
        protected void btnOk_Click1(object sender, EventArgs e)
        {
            string       uname = txtUserName.Text;
            string       upass = txtPass.Text;
            loginManager lm    = new loginManager();
            bool         login = lm.ReLoginIn(uname, upass, Request.UserHostAddress, Session.SessionID, "");

            if (lm.theLoginFlag.Equals("0"))
            {
                System.Web.Security.FormsAuthentication.RedirectFromLoginPage(lm.getUserCode(), false);
            }
        }
예제 #3
0
    protected void Button_Confirm_Click(object sender, EventArgs e)
    {
        //得到当前用户信息
        Boolean theLoginFlag   = false;
        string  theCompanyCode = "";

        userManager theUserManger1 = (userManager)Session["theUserManager"];

        theCompanyCode = theUserManger1.getCompanyCode();

        loginManager theLoginManager = new loginManager();

        theLoginManager.setCompanyCode(theCompanyCode);
        theLoginFlag = theLoginManager.loginOut(theUserManger1.theSessionCode);

        //关闭页面,但不再提示是否关闭
        Response.Write("<script language=JavaScript>window.opener=null; window.parent.close();</script>");
    }
예제 #4
0
    protected void Page_Load(object sender, EventArgs e)
    {
        string userAcc1;
        bool   isValid = false, isOld = false;
        string userAcc = System.Web.HttpContext.Current.User.Identity.Name.Trim();

        userAcc1 = userAcc;
        int len = userAcc.IndexOf('\\', 0);

        userAcc = userAcc.Substring(len + 1, userAcc.Length - len - 1).ToUpper();
        //string strDomain = userAcc.Substring(0, len - 1);
        string strDomain = userAcc1.Substring(0, len);

        if (strDomain == "DCEC")
        //if (strDomain != "")
        //if (strDomain == "域名")
        {
            //判断用户名是否合法,并获取密码
            string   sqlY = "select a.user_code,a.user_password,b.company_code,b.company_name from code_user a left join code_company b on a.company_code=b.company_code where upper(user_code)='" + userAcc.ToUpper() + "'";
            dataConn dc   = new dataConn();
            dc.OpenConn();
            dc.setTheSql(sqlY);
            DataTable dt = dc.GetTable();
            if (dt.Rows.Count > 0)
            {
                isValid = true;
                string theUserCode    = dc.GetTable().Rows[0][0].ToString();
                string theCompanyCode = dc.GetTable().Rows[0][2].ToString();
                string thePlineCode   = dc.GetTable().Rows[0][2].ToString();
                string thePassword    = thePubCs.AESDecrypt(dc.GetTable().Rows[0][1].ToString());
                string thePlineName   = dc.GetTable().Rows[0][3].ToString();
                string theClientIp    = Request.UserHostAddress;
                if (theUserCode.ToUpper() == thePassword.ToUpper())
                {
                    isOld = true;
                }

                string sql = string.Format("select func_get_user('{0}','MES','{1}','A') from dual", theCompanyCode, theUserCode);

                string theUserName    = "";
                string theUserId      = "";
                string theLoginStatus = "";
                string theSessionCode = "";
                bool   theLoginFlag   = false;


                dataConn theDataConn002 = new dataConn();
                theDataConn002.OpenConn();
                theDataConn002.setTheSql(sql);
                theUserId = theDataConn002.GetValue();

                theDataConn002.CloseConn();


                //在登录界面,从会话得到公司号,以后都是从用户对象里面得到

                //theCompanyCode = (string)Session["theCompanyCode"];
                loginManager theLoginManager = new loginManager();
                theLoginManager.setCompanyCode(theCompanyCode);
                theLoginFlag = theLoginManager.loginIn(theUserId, thePubCs.AESEncrypt(thePassword), theClientIp, thePlineCode);

                //得到用户名称
                theUserName = theLoginManager.getUserName();
                theUserCode = theLoginManager.getUserCode();


                if (theLoginFlag)
                {
                    TxtEmployeeCode.Text = "ok";
                    TxtPassword.Text     = theLoginManager.theLoginFlag;
                }
                else
                {
                    TxtEmployeeCode.Text = "error";
                    TxtPassword.Text     = theLoginManager.theLoginFlag;
                }

                theLoginStatus = theLoginManager.theLoginFlag;
                theSessionCode = theLoginManager.theSessionCode;
                theCompanyCode = theLoginManager.getTheCompanyCode();

                //处理不同情况
                switch (theLoginStatus)
                {
                case "0":
                    //登录成功
                    //处理登录用户信息

                    userManager theUserManager = new userManager(theSessionCode);
                    theUserManager.setLoginFlag(theLoginFlag);
                    theUserManager.setPlineCode(thePlineCode);
                    theUserManager.setPlineName(thePlineName);
                    if (isOld)
                    {
                        theUserManager.setProgValue("/Rmes/Sam/sam2400/sam2400.aspx");
                        theUserManager.setProgCode("sam2400");
                        theUserManager.setProgName("用户密码维护");
                    }
                    else
                    {
                        theUserManager.setProgValue("/Rmes/Login/RmesIndex.aspx");
                        theUserManager.setProgCode("rmesIndex");
                        theUserManager.setProgName("系统登录");
                    }
                    theUserManager.setUserId(theUserId);
                    theUserManager.setUserCode(theUserCode);
                    theUserManager.setUserName(theUserName);
                    theUserManager.setCompanyCode(theCompanyCode);

                    Session["theUserManager"] = theUserManager;
                    callbackResult            = theLoginStatus;
                    if (isOld)
                    {
                        Response.Redirect("/Rmes/Sam/sam2400/sam2400.aspx?progCode=sam2400&progName=用户密码维护");
                    }
                    else
                    {
                        Response.Redirect("/Rmes/Login/RmesIndex.aspx?progCode=rmesIndex&progName=系统登录");
                    }
                    break;

                default:
                    callbackResult = theLoginStatus;
                    break;
                }
                if (callbackResult == "0" && isOld)
                {
                    callbackResult = "10";
                }
                //Response.Write(callbackResult);

                Response.End();
            }
            else
            {
                isValid = false;
            }
            dc.CloseConn();
        }
        else
        {
            isValid = false;
        }
        //if (!IsPostBack)
        //{
        //    Session.Abandon();
        //    Session.Clear();
        //}
        //现在只处理登录,从QueryString中得到ajax消息
        if (!string.IsNullOrWhiteSpace(Request.QueryString["method"]) && Request.QueryString["method"].Equals("login") && !isValid)
        {
            //document.forms[0]['DropDownListPline'].value
            //document.forms[0]['TxtEmployeeCode'].value
            //document.forms[0]['TxtPassword'].value
            //thePlineName;

            string theUserCode    = Request.QueryString["usercode"];
            string theCompanyCode = Request.QueryString["companycode"];
            string thePlineCode   = Request.QueryString["companycode"];
            string thePassword    = Request.QueryString["password"];
            string thePlineName   = Request.QueryString["companyname"];
            string theClientIp    = Request.UserHostAddress;
            if (theUserCode.ToUpper() == thePassword.ToUpper())
            {
                isOld = true;
            }
            string sql = string.Format("select func_get_user('{0}','MES','{1}','A') from dual", theCompanyCode, theUserCode);

            string theUserName    = "";
            string theUserId      = "";
            string theLoginStatus = "";
            string theSessionCode = "";
            bool   theLoginFlag   = false;


            dataConn theDataConn002 = new dataConn();
            theDataConn002.OpenConn();
            theDataConn002.setTheSql(sql);
            theUserId = theDataConn002.GetValue();

            theDataConn002.CloseConn();


            //在登录界面,从会话得到公司号,以后都是从用户对象里面得到

            //theCompanyCode = (string)Session["theCompanyCode"];
            loginManager theLoginManager = new loginManager();
            theLoginManager.setCompanyCode(theCompanyCode);
            theLoginFlag = theLoginManager.loginIn(theUserId, thePubCs.AESEncrypt(thePassword), theClientIp, thePlineCode);

            //得到用户名称
            theUserName = theLoginManager.getUserName();
            theUserCode = theLoginManager.getUserCode();


            if (theLoginFlag)
            {
                TxtEmployeeCode.Text = "ok";
                TxtPassword.Text     = theLoginManager.theLoginFlag;
            }
            else
            {
                TxtEmployeeCode.Text = "error";
                TxtPassword.Text     = theLoginManager.theLoginFlag;
            }

            theLoginStatus = theLoginManager.theLoginFlag;
            theSessionCode = theLoginManager.theSessionCode;
            theCompanyCode = theLoginManager.getTheCompanyCode();

            //处理不同情况
            switch (theLoginStatus)
            {
            case "0":
                //登录成功
                //处理登录用户信息

                userManager theUserManager = new userManager(theSessionCode);
                theUserManager.setLoginFlag(theLoginFlag);
                theUserManager.setPlineCode(thePlineCode);
                theUserManager.setPlineName(thePlineName);
                if (isOld)
                {
                    theUserManager.setProgValue("/Rmes/Sam/sam2400/sam2400.aspx");
                    theUserManager.setProgCode("sam2400");
                    theUserManager.setProgName("用户密码维护");
                }
                else
                {
                    theUserManager.setProgValue("/Rmes/Login/RmesIndex.aspx");
                    theUserManager.setProgCode("rmesIndex");
                    theUserManager.setProgName("系统登录");
                }
                theUserManager.setUserId(theUserId);
                theUserManager.setUserCode(theUserCode);
                theUserManager.setUserName(theUserName);
                theUserManager.setCompanyCode(theCompanyCode);

                Session["theUserManager"] = theUserManager;
                callbackResult            = theLoginStatus;
                break;

            default:
                callbackResult = theLoginStatus;
                break;
            }
            if (callbackResult == "0" && isOld)
            {
                callbackResult = "10";
            }
            Response.Write(callbackResult);
            Response.End();
        }
    }
예제 #5
0
    public void RaiseCallbackEvent(string eventArg)
    {
        //在这里调用登录处理事件
        //处理登录
        string  thePlineCode   = "";
        string  theUserCode    = "";
        string  thePassword    = "";
        string  theLoginStatus = "";
        Boolean theLoginFlag   = false;
        string  theSessionCode = "";
        string  theCompanyCode = "";

        string thePlineName = "";  //20071219 增加生产线名称
        string theUserName  = "";
        string theUserId    = "";
        string theClientIp  = Request.UserHostAddress;



        PubCs thePubCs = new PubCs();
        //测试读取xml
        string theServerPath1 = Server.MapPath("~/").ToString();

        theServerPath1 = theServerPath1 + "Rmes/Pub/Xml/RmesConfig.xml";
        string theRet = thePubCs.ReadFromXml(theServerPath1, "SeparatorStr");

        ArrayList theArrayList = thePubCs.SplitBySeparator(eventArg, theRet);

        string[] theString = thePubCs.ArrayListToString(theArrayList);

        theCompanyCode = theString[0];
        theUserCode    = theString[1].ToUpper();
        thePassword    = theString[2];
        thePlineName   = theString[3];

        //用户代码和用户ID的转换 20110722

        dataConn theDataConn002 = new dataConn();

        theDataConn002.OpenConn();
        theDataConn002.setTheSql("select func_get_user('" + theCompanyCode + "','MES','" + theUserCode + "','A') from dual");
        theUserId = theDataConn002.GetValue();

        theDataConn002.CloseConn();


        //得到当前会话和公司号
        userManager theUserManager1 = (userManager)Session["theUserManager"];

        if (theUserManager1 != null)
        {
            theSessionCode = theUserManager1.theSessionCode;
            //theCompanyCode = theUserManager1.getCompanyCode();
        }
        else
        {
            //theCompanyCode = (string)Session["theCompanyCode"];
        }


        loginManager theLoginManager = new loginManager();

        theLoginManager.setCompanyCode(theCompanyCode);
        theLoginFlag = theLoginManager.ReLoginIn(theUserId, thePubCs.AESEncrypt(thePassword), theClientIp, theSessionCode, thePlineCode);


        //得到用户名称
        theUserName = theLoginManager.getUserName();
        theUserCode = theLoginManager.getUserCode();

        if (theLoginFlag)
        {
            TxtEmployeeCode.Text = "ok";
            TxtPassword.Text     = theLoginManager.theLoginFlag;
        }
        else
        {
            TxtEmployeeCode.Text = "error";
            TxtPassword.Text     = theLoginManager.theLoginFlag;
        }

        theLoginStatus = theLoginManager.theLoginFlag;
        theSessionCode = theLoginManager.theSessionCode;
        theCompanyCode = theLoginManager.getTheCompanyCode();

        //处理不同情况
        switch (theLoginStatus)
        {
        case "0":
            //登录成功
            //处理登录用户信息

            userManager theUserManager = new userManager(theSessionCode);
            theUserManager.setLoginFlag(theLoginFlag);
            theUserManager.setPlineCode(thePlineCode);
            theUserManager.setPlineName(thePlineName);

            theUserManager.setProgValue("/Rmes/Login/RmesIndex.aspx");
            theUserManager.setProgCode("rmesIndex");
            theUserManager.setProgName("系统登录");
            theUserManager.setUserId(theUserId);
            theUserManager.setUserCode(theUserCode);
            theUserManager.setUserName(theUserName);
            theUserManager.setCompanyCode(theCompanyCode);

            Session["theUserManager"] = theUserManager;


            //在新的窗口打开无标题栏等信息


            callbackResult = theLoginStatus;
            break;

        default:
            callbackResult = theLoginStatus;
            break;
        }
    }