コード例 #1
0
        public Boolean ReLogin(string tsHashCode)
        {
            if (tsHashCode == "")
            {
                return(false);
            }
            string lsSql = @"select b.* from t_S_OnLine_Employee a inner join t_S_Employee b on a.Employee_Id=b.Employee_Id
                           where a.HashCode='" + tsHashCode + "'";

            DataTable lodtEmployee = new DataTable();

            DAL.DBA.FillDataTable(lodtEmployee, lsSql);

            if (lodtEmployee.Rows.Count == 1)
            {
                this.loUserInfo     = new UserInfo();
                loUserInfo.UserId   = Convert.ToInt32(lodtEmployee.Rows[0]["Employee_ID"].ToString());
                loUserInfo.UserName = lodtEmployee.Rows[0]["Employee_Name"].ToString();
                loUserInfo.DeptId   = Convert.ToInt32(lodtEmployee.Rows[0]["Dept_ID"].ToString());
                loUserInfo.Is_Employee_Pwd_Reset = Convert.ToBoolean(IntUtil.SafeCInt(lodtEmployee.Rows[0]["Is_Employee_Pwd_Reset"]));
                loUserInfo.Employee_Status       = (EnumDef.EStatus)IntUtil.SafeCInt(lodtEmployee.Rows[0]["Employee_Status"].ToString());
                loUserInfo.Login_ID           = lodtEmployee.Rows[0]["Employee_Login_ID"].ToString();
                loUserInfo.Is_Admin           = Convert.ToBoolean(IntUtil.SafeCInt(lodtEmployee.Rows[0]["Is_Admin"]));
                loUserInfo.Password           = lodtEmployee.Rows[0]["employee_login_pwd"].ToString();
                loUserInfo.PositionID         = IntUtil.SafeCIntNullable(lodtEmployee.Rows[0]["Position_ID"]);
                this.moSession["UserSession"] = this;
                this.InitMenu();
                return(true);
            }
            else
            {
                return(false);
            }
        }
コード例 #2
0
        public string Login(string tsUserAccount, string tsPassword, ref string tsUserHash, bool lsBool)
        {
            string lsMessage = "";

            string lsSql = "Select * from t_S_Employee where Employee_Login_ID='" + tsUserAccount + "'";

            DataTable lodtEmployee = new DataTable();

            DAL.DBA.FillDataTable(lodtEmployee, lsSql);
            if (lodtEmployee.Rows.Count >= 1)
            {
                try
                {
                    this.loUserInfo     = new UserInfo();
                    loUserInfo.UserId   = Convert.ToInt32(lodtEmployee.Rows[0]["Employee_ID"].ToString());
                    loUserInfo.UserName = lodtEmployee.Rows[0]["Employee_Name"].ToString();
                    loUserInfo.DeptId   = Convert.ToInt32(lodtEmployee.Rows[0]["Dept_ID"].ToString());
                    loUserInfo.Is_Employee_Pwd_Reset = Convert.ToBoolean(IntUtil.SafeCInt(lodtEmployee.Rows[0]["Is_Employee_Pwd_Reset"]));
                    loUserInfo.Employee_Status       = (EnumDef.EStatus)IntUtil.SafeCInt(lodtEmployee.Rows[0]["Employee_Status"].ToString());
                    loUserInfo.Login_ID   = lodtEmployee.Rows[0]["Employee_Login_ID"].ToString();
                    loUserInfo.Is_Admin   = Convert.ToBoolean(IntUtil.SafeCInt(lodtEmployee.Rows[0]["Is_Admin"]));
                    loUserInfo.Password   = lodtEmployee.Rows[0]["employee_login_pwd"].ToString();
                    loUserInfo.PositionID = IntUtil.SafeCIntNullable(lodtEmployee.Rows[0]["Position_ID"]);
                    if (IntUtil.SafeCInt(lodtEmployee.Rows[0]["Employee_Status"]) != 1)
                    {
                        lsMessage = "此用户处于未激活状态!";
                        return(lsMessage);
                    }
                    //密码不正确
                    if (loUserInfo.Password != CommonFunction.GetCode(tsPassword))
                    {
                        lsMessage = "登录密码错误,请重新输入!";
                        return(lsMessage);
                    }
                    if (!lsBool)
                    {
                        if (StrUtil.SafeCString(lodtEmployee.Rows[0]["Is_Out_Accesss"]) != "1")
                        {
                            lsMessage = "此用户无权登录!";
                            return(lsMessage);
                        }
                    }
                    #region 添加在线用户表记录
                    string lsSQL      = "select HashCode from t_S_OnLine_Employee where Employee_ID=" + loUserInfo.UserId + " and rownum =1";
                    object loUserHash = DAL.DBA.ExecuteScalar(lsSQL);
                    if (loUserHash != null && loUserHash != DBNull.Value)
                    {
                        tsUserHash = loUserHash.ToString();
                    }
                    else
                    {
                        tsUserHash = CommonFunction.GetCode(loUserInfo.Login_ID + loUserInfo.Password);
                        int lnOnlineID = Convert.ToInt32(CommonDBFunction.GenerateSEQIdentity("t_S_OnLine_Employee"));
                        lsSQL = @"insert into t_S_OnLine_Employee(OnLine_Employee_id,Employee_ID,Status,HashCode,LoginTime) values(" + lnOnlineID.ToString() + "," + loUserInfo.UserId.ToString() + ",1,'" + tsUserHash + "',to_date('" + DateTime.Now + "','yyyy-MM-dd HH24:MI:SS'))";
                        DAL.DBA.ExecSQL("userlogin", lsSQL, ref lsMessage);
                    }
                    #endregion

                    this.moSession["UserSession"] = this;
                    this.InitMenu();


                    return(lsMessage);
                }
                catch (Exception ex)
                {
                    lsMessage = "登陆失败!\r\n" + ex.Message;
                    return(lsMessage);
                }
            }
            else
            {
                lsMessage = "用户“" + tsUserAccount + "”不存在!";
                return(lsMessage);
            }
        }