コード例 #1
0
    /// <summary>
    /// 系统登陆
    /// </summary>
    /// <param name="user"></param>
    /// <param name="voidPin">是否验证密码</param>
    protected void UserLogin(string userName, string passWord, bool voidPin)
    {
        HEemployeeBB userBB = new HEemployeeBB();
        HEemployeeData userData = new HEemployeeData();
        try
        {
            if (userName == "")
            {
                this.lblMsg.Text = "请输入用户名!";
                return;
            }
            string validateString = userBB.ValidatePassword(userName, passWord);
            if (voidPin && validateString != "")
            {
                //记录登陆日志
                this.LoginDiary();

                switch (validateString)
                {
                    case "登陆密码错误!":
                        userData = userBB.GetModel(userName);
                        userData.errorLoginAmount += 1;  //记录连续错误登录次数
                        userBB.ModifyRecord(userData);

                        this.lblMsg.Text = validateString;
                        break;
                    case "第一次登录系统,请首先修改登录密码!":
                    case "您的密码已过期,请重新修改登录密码!":
                    case "您的密码已被初始化,请修改登录密码!":
                        this.lblMsg.Text = "";
                        userData = userBB.GetModel(userName);
                        this.ClientScript.RegisterStartupScript(this.GetType(), "alert", "alert(\"" + validateString + "\");window.location.href='Page/System/ChangePwd/ChangePwd.aspx?userId=" + userData.empId.ToString() + "&userNo=" + userData.empNo + "';", true);
                        break;
                    default:
                        this.lblMsg.Text = validateString;
                        break;
                }
            }
            else
            {
                FormsAuthentication.SetAuthCookie(userName, false);
                userData = userBB.GetModel(userName);
                userData.Identity = true;

                //记录用户在线信息
                userData.isOnLine = true;
                userData.loginDate = DateTime.Now.ToString();
                userData.lastOnLineDt = DateTime.Now.ToString();
                userData.sessionId = Session.SessionID;
                userData.errorLoginAmount = 0;  //置连续错误登录次数为0
                userBB.ModifyRecord(userData);

                Session["UserData"] = userData;
                Session["Style"] = userData.style;
                //缓存用户权限
                Session["UserPermissionTable"] = userBB.GetSessionUserPermissionTable(userData.empId);

                //记录登陆日志
                this.LoginDiary();
                try
                {
                    //StringBuilder script = new StringBuilder();
                    //script.Append("<script language=\"javascript\">\r\n");
                    //script.Append("<!--\r\n");
                    //script.Append("	window.open('Main.htm','_blank', 'left=0,top=0,height='+screen.availHeight+'-20,width='+screen.availWidth+',resizable=yes,status=no,titlebar=no,toolbar=no,scrollbars=yes');\r\n");
                    //script.Append("//-->\r\n");
                    //script.Append("</script>");

                    //this.ClientScript.RegisterStartupScript(this.GetType(), "OpenRegister", script.ToString());
                    Response.Redirect("main.htm", false);
                }
                catch (Exception ex)
                {
                }
            }
        }
        catch (Exception ex)
        {
            this.lblMsg.Text = ex.Message;
        }
        finally
        {
            userBB.Dispose();
        }
    }