Esempio n. 1
0
        // GET: Window

        /// <summary>
        /// 用户登录页面
        /// </summary>
        /// <returns></returns>
        public ActionResult Login()
        {
            string username = Request["username"]; //用户名
            string password = Request["password"]; //密码
            string url      = "";

            if (Request.QueryString["ID"] != null)
            {
                url = Request.QueryString["ID"].ToString();//获取这个参数  //url = HttpUtility.UrlDecode(url);
            }
            int flag = -1;

            string[] array;
            if (!string.IsNullOrEmpty(url))
            {
                url   = HttpUtility.UrlEncode(url, System.Text.Encoding.UTF8);
                url   = Setpassword.get_password_ASC(HttpUtility.UrlDecode(url));
                array = url.Split('/');//分开,分别验证(验证时间是否允许)
                DateTime dtCheckTime = DateTime.ParseExact(array[3], "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);
                if (dtCheckTime.Date != DateTime.Now.Date)
                {
                    flag = 0;
                }
                else if (dtCheckTime.Date == DateTime.Now.Date)
                {
                    flag = 1;
                }
            }
            if (flag == -1)
            {
                if (username == null)//用户名为空
                {
                    ViewData["flag"] = "0";
                    return(View());
                }
                else if (password == null)//密码为空
                {
                    ViewData["flag"] = "2";
                    return(View());
                }
                else if (username.ToString() == "")
                {
                    ViewData["flag"] = "0";
                    return(View());
                }
                else if (password.ToString() == "")
                {
                    ViewData["flag"] = "2";
                    return(View());
                }
                password = Setpassword.set_password_ASC(password);//对密码进行加密判断
            }
            #region

            #region
            if (flag == -1)
            {
                #region 用户登录
                string         sql   = @"SELECT  [ID],[ParentID],[UserName],[PrivilegeID],[TrueName],[RoleID],[Status] 
                              FROM  [UserInfo]  WHERE UserName = @username AND [Password] = @password  AND [Status] = 1";
                SqlParameter[] paras =
                {
                    new SqlParameter("@username", username),
                    new SqlParameter("@password", password)
                };
                DataTable dt = DbHelperSQL.GetDataSet(sql, paras).Tables[0];
                if (dt.Rows.Count < 1)
                {
                    ViewData["flag"] = "3";
                    return(View());
                }
                else
                {
                    string name   = dt.Rows[0]["TrueName"].ToString();
                    string ID     = dt.Rows[0]["ID"].ToString();
                    string RoleID = dt.Rows[0]["RoleID"].ToString();
                    HttpContext.Session.Add("UserInfoID", ID);
                    HttpContext.Session.Add("RoleID", RoleID);
                    HttpContext.Session.Add("TrueName", name);
                    HttpContext.Session.Timeout = 40;
                    ViewData["flag"]            = "1";
                    return(RedirectToAction("Index", "Window"));
                }
                #endregion
            }
            else if (flag == 1)
            {                                                                             //ERP
                array = url.Split('/');
                DataTable dt = BUserInfo.GetList("UnionID='" + array[0] + "'").Tables[0]; //获取数据,判断是否存在
                if (array[0].Length > 0)
                {
                    #region 验证用户登录
                    if (dt.Rows.Count > 0)
                    {
                        string name   = dt.Rows[0]["TrueName"].ToString();
                        string ID     = dt.Rows[0]["ID"].ToString();
                        string RoleID = dt.Rows[0]["RoleID"].ToString();
                        Session.Add("UserInfoID", ID);
                        Session.Add("TrueName", name);
                        Session.Add("RoleID", RoleID);
                        Session.Timeout = 40;
                        return(RedirectToAction("Index", "Window"));
                    }
                    else
                    {
                        MUserInfo.ParentID    = 1;    //默认上级是超级管理员
                        MUserInfo.Password    = "";   // password.set_password_ASC("888888");
                        MUserInfo.PrivilegeID = "17"; //默认权限
                        MUserInfo.RoleID      = 3;
                        MUserInfo.status      = Convert.ToInt32(1);
                        MUserInfo.Time        = System.DateTime.Now;
                        MUserInfo.TrueName    = array[2]; //姓名
                        MUserInfo.UnionID     = array[0]; //用户编号
                        MUserInfo.UserFrom    = "ERP-User";
                        MUserInfo.UserName    = array[1]; //用户昵称,就是手机号
                        int UserInfoID = BUserInfo.Add(MUserInfo);
                        if (UserInfoID > 0)
                        {
                            Session.Add("UserInfoID", UserInfoID);
                            Session.Add("RoleID", 3);//默认都是反馈人员
                            Session.Add("TrueName", MUserInfo.TrueName);
                            Session.Timeout = 40;
                            return(RedirectToAction("Index", "Window"));
                        }
                        else
                        {
                            return(RedirectToAction("Login", "Window"));
                        }
                    }
                    #endregion
                }
                else
                {
                    ViewData["flag"] = "-1";
                    return(View());
                }
            }
            else //if(flag==0)
            {
                ViewData["flag"] = "-1";
                return(View());
            }
            #endregion

            #endregion
        }