using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using CY.BLL; using CY.Model; using CY.Infrastructure.Query; using CY.Infrastructure.Common; using CY.Infrastructure.DESEncrypt; using System.Collections; namespace CY.WebForm.Pages.front { //吴辉 //登录 public partial class Login : Page { //会员业务逻辑 EC_MemberBasicBLL bll_EC_MemberBasicBLL = null; OA_StaffBLL bll_OA_StaffBLL = null; Info_AdBLL bll_Info_AdBLL = null; Sys_Permissions_RoleBLL bll_Sys_Permissions_RoleBLL = null; public string MemberLoginNum = ""; public string MemberLoginPwd = ""; public string LoginAndPwdCookieString = ""; //初始化 public Login() { bll_EC_MemberBasicBLL = new EC_MemberBasicBLL(); bll_OA_StaffBLL = new OA_StaffBLL(); bll_Info_AdBLL = new Info_AdBLL(); bll_Sys_Permissions_RoleBLL = new Sys_Permissions_RoleBLL(); } //页面加载 protected void Page_Load(object sender, EventArgs e) { if (Session["nowMemberLogin"] != null) { string url = Request["backurlCS"].ToString2(); if (string.IsNullOrEmpty(url)) Response.Redirect("/"); else Response.Redirect(url); Response.End(); } if (!IsPostBack) { if (Request["dateType"] == "getPwd") { string LoginCookie = DESEncrypt.Decrypt(Utils.GetCookie("CyinMemberLoginNum")); string PwdCookie = DESEncrypt.Decrypt(Utils.GetCookie("CyinMemberLoginPwd")); string[] loginStrings = LoginCookie.Split(','); string[] pwdStrings = PwdCookie.Split(','); MemberLoginNum = Request["name"]; MemberLoginPwd = pwdStrings[Array.IndexOf(loginStrings, MemberLoginNum)]; Response.Write(FastLogin(MemberLoginNum, MemberLoginPwd)); Response.End(); } else if (Request["dateType"] == "delcookie") { Response.Write(DelCookie(Request["name"])); Response.End(); } DataLogin(); } } //加载数据 public void DataLogin() { string LoginCookie = DESEncrypt.Decrypt(Utils.GetCookie("CyinMemberLoginNum")); string PwdCookie = DESEncrypt.Decrypt(Utils.GetCookie("CyinMemberLoginPwd")); string[] loginStrings = LoginCookie.Split(','); string[] pwdStrings = PwdCookie.Split(','); for (int i = 0; i < loginStrings.Length; i++) { if (!string.IsNullOrEmpty(loginStrings[i])) { LoginAndPwdCookieString += "
  • " + loginStrings[i] + "×
  • "; } } if (Utils.GetCookie("CyinMemberLoginRemember") == "true") { if (loginStrings != null && loginStrings.Length > 0) { MemberLoginNum = loginStrings[0]; MemberLoginPwd = pwdStrings[0]; this.LoginId.Value = MemberLoginNum; this.Password.Attributes["value"] = MemberLoginPwd; } this.SetUserCookie.Checked = Utils.GetCookie("CyinMemberLoginRemember").ToBoolean2(); } else { MemberLoginNum = Utils.GetCookie("CyinMemberLoginRememberLastId"); MemberLoginPwd = ""; this.LoginId.Value = MemberLoginNum; this.Password.Attributes["value"] = MemberLoginPwd; this.SetUserCookie.Checked = false; } string Ad1 = bll_Info_AdBLL.SelectAdByLocationName("会员登录", "登录(滚动1)"); string Ad2 = bll_Info_AdBLL.SelectAdByLocationName("会员登录", "登录(滚动2)"); string Ad3 = bll_Info_AdBLL.SelectAdByLocationName("会员登录", "登录(滚动3)"); string Ad4 = bll_Info_AdBLL.SelectAdByLocationName("会员登录", "登录(滚动4)"); string Ad5 = bll_Info_AdBLL.SelectAdByLocationName("会员登录", "登录(滚动5)"); string ad = Ad1 + Ad2 + Ad3 + Ad4 + Ad5; this.ad0.InnerHtml = ad; } //登录事件 protected void btn_Login_Member(object sender, EventArgs e) { try { bool result = false; EC_MemberBasic m_EC_MemberBasic = new EC_MemberBasic(); if (string.IsNullOrEmpty(this.LoginId.Value.ToString2().Trim())) { CY.WebForm.BasePage.JavaScript.MessageBox("登录帐号不能为空", this); } else if (string.IsNullOrEmpty(this.Password.Text.ToString2().Trim())) { CY.WebForm.BasePage.JavaScript.MessageBox("登录密码不能为空", this); } else { m_EC_MemberBasic = bll_EC_MemberBasicBLL.GetMemberByLogin(this.LoginId.Value.ToString2().Trim(), this.Password.Text.ToString2().Trim()); if (m_EC_MemberBasic == null || m_EC_MemberBasic.MemberId == null || m_EC_MemberBasic.MemberId == Guid.Empty) { CY.WebForm.BasePage.JavaScript.MessageBox("帐号或密码错误", this); } else { Sys_Permissions_UserRoleRelation m_Sys_Permissions_UserRoleRelation = bll_Sys_Permissions_RoleBLL.SelectSys_Permissions_UserRoleRelation(m_EC_MemberBasic.MemberId); if (m_EC_MemberBasic.MemberType == "印刷厂商" || m_EC_MemberBasic.MemberType == "个人网店" || m_EC_MemberBasic.MemberType == "买家会员" || m_EC_MemberBasic.MemberType == "管理员") { if (m_EC_MemberBasic.UseState != 3) { switch (m_EC_MemberBasic.UseState) { case 0: CY.WebForm.BasePage.JavaScript.MessageBox("请耐心等待,我们会尽快审核您的帐号资料", this); break; case 1: CY.WebForm.BasePage.JavaScript.MessageBox("很抱歉,您的帐号已到期,如需继续使用请联系我们", this); break; case 2: CY.WebForm.BasePage.JavaScript.MessageBox("很抱歉,您的帐号已被锁定,如有疑问请联系我们", this); break; case 4: CY.WebForm.BasePage.JavaScript.MessageBox("很抱歉,您的帐号已注销,如有疑问请联系我们", this); break; default: break; } } else if (m_EC_MemberBasic.ExpirationTime <= DateTime.Now && m_EC_MemberBasic.MemberType == "印刷厂商") { CY.WebForm.BasePage.JavaScript.MessageBox("帐号已到期,请联系客服", this); } else if (m_Sys_Permissions_UserRoleRelation == null) { CY.WebForm.BasePage.JavaScript.MessageBox("尚未分配权限,请联系客服", this); } else { m_EC_MemberBasic.StaffId = 0; m_EC_MemberBasic.TrueMemberId = m_EC_MemberBasic.MemberId; m_EC_MemberBasic.TrueName = m_EC_MemberBasic.Name; m_EC_MemberBasic.TrueType = m_EC_MemberBasic.MemberType; m_EC_MemberBasic.TrueLoginId = m_EC_MemberBasic.LoginId; Session["nowMemberLogin"] = m_EC_MemberBasic; //保存登录信息 result = true; if (m_EC_MemberBasic.MemberType != "管理员" && m_EC_MemberBasic.LastLoginDate < DateTime.Now.ToString("yyyy-MM-dd").ToDateTime2()) { Pay_PaymentAccountBLL _pay_PaymentAccountBLL = new Pay_PaymentAccountBLL(); _pay_PaymentAccountBLL.SendPoOrMoToMember(m_EC_MemberBasic.MemberId, 391, null); } } } else { OA_Staff m_OA_Staff = bll_OA_StaffBLL.GetModelByMemberId(m_EC_MemberBasic.MemberId); if (m_OA_Staff != null) { EC_MemberBasic m_EC_MemberBasic_firm = bll_EC_MemberBasicBLL.GetMemberByMemberId(m_OA_Staff.FirmId); if (m_EC_MemberBasic_firm.MemberType == "印刷厂商" && m_EC_MemberBasic_firm.LastLoginDate < DateTime.Now.ToString("yyyy-MM-dd").ToDateTime2()) { Pay_PaymentAccountBLL _pay_PaymentAccountBLL = new Pay_PaymentAccountBLL(); _pay_PaymentAccountBLL.SendPoOrMoToMember(m_EC_MemberBasic_firm.MemberId, 391, null); m_EC_MemberBasic_firm.LastLoginDate = DateTime.Now; m_EC_MemberBasic_firm.LastIp = DNTRequest.GetIP(); if (bll_EC_MemberBasicBLL.UpdateModel(m_EC_MemberBasic_firm)) { } } if (m_EC_MemberBasic_firm.UseState != 3) { CY.WebForm.BasePage.JavaScript.MessageBox("您所属公司的帐号状态异常,请联系客服", this); } else if (m_EC_MemberBasic_firm.ExpirationTime <= DateTime.Now && m_EC_MemberBasic_firm.MemberType == "印刷厂商") { CY.WebForm.BasePage.JavaScript.MessageBox("您所属公司的帐号已到期,请联系客服", this); } else if (m_EC_MemberBasic.UseState != 3) { CY.WebForm.BasePage.JavaScript.MessageBox("帐号状态异常", this); } else { m_EC_MemberBasic_firm.TrueMemberId = m_EC_MemberBasic.MemberId; m_EC_MemberBasic_firm.TrueName = m_EC_MemberBasic.Name; m_EC_MemberBasic_firm.TrueType = m_EC_MemberBasic.MemberType; m_EC_MemberBasic_firm.TrueLoginId = m_EC_MemberBasic.LoginId; m_EC_MemberBasic_firm.StaffId = m_OA_Staff.Keyid; m_EC_MemberBasic_firm.ShortName = m_EC_MemberBasic.Name; Session["nowMemberLogin"] = m_EC_MemberBasic_firm; //保存登录信息 result = true; } } } //JavaScript.MessageBox("登录成功", this); if (result) { if (Request["SetUserCookie"] == "123") { string LoginCookie = DESEncrypt.Decrypt(Utils.GetCookie("CyinMemberLoginNum")); string PwdCookie = DESEncrypt.Decrypt(Utils.GetCookie("CyinMemberLoginPwd")); string[] loginStrings = LoginCookie.Split(','); string[] pwdStrings = PwdCookie.Split(','); string[] n = new string[loginStrings.Length + 1]; string[] m = new string[pwdStrings.Length + 1]; if (Array.IndexOf(loginStrings, this.LoginId.Value.ToString2()) >= 0) { ArrayList LoginS = loginStrings.JStringsToArrayList(); ArrayList PwdS = pwdStrings.JStringsToArrayList(); LoginS.RemoveAt(Array.IndexOf(loginStrings, this.LoginId.Value.ToString2())); PwdS.RemoveAt(Array.IndexOf(loginStrings, this.LoginId.Value.ToString2())); //pwdStrings[Array.IndexOf(loginStrings, this.LoginId.Value.ToString2())] = this.Password.Text.ToString2().Trim(); LoginCookie = this.LoginId.Value.ToString2() + ","; PwdCookie = this.Password.Text.ToString2().Trim() + ","; foreach (string b in LoginS) { LoginCookie += b + ","; } foreach (string b in PwdS) { PwdCookie += b + ","; } Utils.WriteCookie("CyinMemberLoginNum", DESEncrypt.Encrypt(LoginCookie.Trim(',')), 144000); Utils.WriteCookie("CyinMemberLoginPwd", DESEncrypt.Encrypt(PwdCookie.Trim(',')), 144000); Utils.WriteCookie("CyinMemberLoginRemember", "true", 144000); } else { for (int i = 0; i < loginStrings.Length + 1; i++) { if (i == 0) { n[i] = this.LoginId.Value.ToString2().Trim(); m[i] = this.Password.Text.ToString2().Trim(); } else { n[i] = loginStrings[i-1]; m[i] = pwdStrings[i-1]; } } LoginCookie = ""; PwdCookie = ""; foreach (string b in n) { LoginCookie += b + ","; } foreach (string b in m) { PwdCookie += b + ","; } Utils.WriteCookie("CyinMemberLoginNum", DESEncrypt.Encrypt(LoginCookie.Trim(',')), 144000); Utils.WriteCookie("CyinMemberLoginPwd", DESEncrypt.Encrypt(PwdCookie.Trim(',')), 144000); Utils.WriteCookie("CyinMemberLoginRemember", "true", 144000); } } else { DelCookie(this.LoginId.Value.ToString2().Trim()); Utils.WriteCookie("CyinMemberLoginRememberLastId", m_EC_MemberBasic.LoginId, 144000); Utils.WriteCookie("CyinMemberLoginRemember", "false", 144000); } m_EC_MemberBasic.LastLoginDate = DateTime.Now; m_EC_MemberBasic.LastIp = DNTRequest.GetIP(); if (bll_EC_MemberBasicBLL.UpdateModel(m_EC_MemberBasic)) { EC_MemberBasic m_EC_MemberBasic_SES = Session["nowMemberLogin"] as EC_MemberBasic; Sys_LoginRecordBLL bll_Sys_LoginRecordBLL = new Sys_LoginRecordBLL(); Sys_LoginRecord m_Sys_LoginRecord = new Sys_LoginRecord(); m_Sys_LoginRecord.LoginIP = DNTRequest.GetIP(); m_Sys_LoginRecord.LoginMemberId = m_EC_MemberBasic_SES.MemberId; m_Sys_LoginRecord.LoginMemberName = m_EC_MemberBasic_SES.Name; m_Sys_LoginRecord.LoginRemark = m_EC_MemberBasic_SES.TrueLoginId; m_Sys_LoginRecord.LoginTime = DateTime.Now; m_Sys_LoginRecord.TrueMemberId = m_EC_MemberBasic_SES.TrueMemberId; m_Sys_LoginRecord.TrueMemberName = m_EC_MemberBasic_SES.TrueName; bll_Sys_LoginRecordBLL.InsertModel(m_Sys_LoginRecord); string url = Request["backurlCS"].ToString2(); Utils.WriteCookie("BackUrl", url, 10); if (string.IsNullOrEmpty(url)) Response.Redirect("/cms"); else Response.Redirect(url); } else { CY.WebForm.BasePage.JavaScript.MessageBox("登录失败,请稍后再试", this); } } } } DataLogin(); } catch (Exception ex) { CY.WebForm.BasePage.JavaScript.MessageBox("登录失败,请稍后再试", this); DataLogin(); } } //快速登录 protected string FastLogin(string LoginName, string LoginPwd) { bool result = false; string Res = ""; EC_MemberBasic m_EC_MemberBasic = new EC_MemberBasic(); if (string.IsNullOrEmpty(LoginName)) { Res = "登录帐号不能为空"; } else if (string.IsNullOrEmpty(LoginPwd)) { Res = "登录密码不能为空"; } else { m_EC_MemberBasic = bll_EC_MemberBasicBLL.GetMemberByLogin(LoginName, LoginPwd); if (m_EC_MemberBasic == null || m_EC_MemberBasic.MemberId == null || m_EC_MemberBasic.MemberId == Guid.Empty) { Res = "帐号或密码错误"; } else { Sys_Permissions_UserRoleRelation m_Sys_Permissions_UserRoleRelation = bll_Sys_Permissions_RoleBLL.SelectSys_Permissions_UserRoleRelation(m_EC_MemberBasic.MemberId); if (m_EC_MemberBasic.MemberType == "印刷厂商" || m_EC_MemberBasic.MemberType == "个人网店" || m_EC_MemberBasic.MemberType == "买家会员" || m_EC_MemberBasic.MemberType == "管理员") { if (m_EC_MemberBasic.UseState != 3) { switch (m_EC_MemberBasic.UseState) { case 0: Res = "请耐心等待,我们会尽快审核您的帐号资料"; break; case 1: Res = "很抱歉,您的帐号已到期,如需继续使用请联系我们"; break; case 2: Res = "很抱歉,您的帐号已被锁定,如有疑问请联系我们"; break; case 4: Res = "很抱歉,您的帐号已注销,如有疑问请联系我们"; break; default: break; } } else if (m_EC_MemberBasic.ExpirationTime <= DateTime.Now && m_EC_MemberBasic.MemberType == "印刷厂商") { Res = "帐号已到期,请联系客服"; } else if (m_Sys_Permissions_UserRoleRelation == null) { Res = "尚未分配权限,请联系客服"; } else { m_EC_MemberBasic.StaffId = 0; m_EC_MemberBasic.TrueMemberId = m_EC_MemberBasic.MemberId; m_EC_MemberBasic.TrueName = m_EC_MemberBasic.Name; m_EC_MemberBasic.TrueType = m_EC_MemberBasic.MemberType; m_EC_MemberBasic.TrueLoginId = m_EC_MemberBasic.LoginId; Session["nowMemberLogin"] = m_EC_MemberBasic; //保存登录信息 result = true; if (m_EC_MemberBasic.MemberType != "管理员" && m_EC_MemberBasic.LastLoginDate < DateTime.Now.ToString("yyyy-MM-dd").ToDateTime2()) { Pay_PaymentAccountBLL _pay_PaymentAccountBLL = new Pay_PaymentAccountBLL(); _pay_PaymentAccountBLL.SendPoOrMoToMember(m_EC_MemberBasic.MemberId, 391, null); } } } else { OA_Staff m_OA_Staff = bll_OA_StaffBLL.GetModelByMemberId(m_EC_MemberBasic.MemberId); if (m_OA_Staff != null) { EC_MemberBasic m_EC_MemberBasic_firm = bll_EC_MemberBasicBLL.GetMemberByMemberId(m_OA_Staff.FirmId); if (m_EC_MemberBasic_firm.MemberType == "印刷厂商" && m_EC_MemberBasic.LastLoginDate < DateTime.Now.ToString("yyyy-MM-dd").ToDateTime2()) { Pay_PaymentAccountBLL _pay_PaymentAccountBLL = new Pay_PaymentAccountBLL(); _pay_PaymentAccountBLL.SendPoOrMoToMember(m_EC_MemberBasic_firm.MemberId, 391, null); } if (m_EC_MemberBasic_firm.UseState != 3) { Res = "您所属公司的帐号状态异常,请联系客服"; } else if (m_EC_MemberBasic_firm.ExpirationTime <= DateTime.Now && m_EC_MemberBasic_firm.MemberType == "印刷厂商") { Res = "您所属公司的帐号已到期,请联系客服"; } else if (m_EC_MemberBasic.UseState != 3) { Res = "帐号状态异常"; } else { m_EC_MemberBasic_firm.TrueMemberId = m_EC_MemberBasic.MemberId; m_EC_MemberBasic_firm.TrueName = m_EC_MemberBasic.Name; m_EC_MemberBasic_firm.TrueType = m_EC_MemberBasic.MemberType; m_EC_MemberBasic_firm.TrueLoginId = m_EC_MemberBasic.LoginId; m_EC_MemberBasic_firm.StaffId = m_OA_Staff.Keyid; m_EC_MemberBasic_firm.ShortName = m_EC_MemberBasic.Name; Session["nowMemberLogin"] = m_EC_MemberBasic_firm; //保存登录信息 result = true; } } } //JavaScript.MessageBox("登录成功", this); if (result) { string LoginCookie = DESEncrypt.Decrypt(Utils.GetCookie("CyinMemberLoginNum")); string PwdCookie = DESEncrypt.Decrypt(Utils.GetCookie("CyinMemberLoginPwd")); string[] loginStrings = LoginCookie.Split(','); string[] pwdStrings = PwdCookie.Split(','); string[] n = new string[loginStrings.Length + 1]; string[] m = new string[pwdStrings.Length + 1]; if (Array.IndexOf(loginStrings, LoginName) >= 0) { ArrayList LoginS = loginStrings.JStringsToArrayList(); ArrayList PwdS = pwdStrings.JStringsToArrayList(); LoginS.RemoveAt(Array.IndexOf(loginStrings, LoginName)); PwdS.RemoveAt(Array.IndexOf(loginStrings, LoginName)); //pwdStrings[Array.IndexOf(loginStrings, this.LoginId.Value.ToString2())] = this.Password.Text.ToString2().Trim(); LoginCookie = LoginName+","; PwdCookie = LoginPwd + ","; foreach (string b in LoginS) { LoginCookie += b + ","; } foreach (string b in PwdS) { PwdCookie += b + ","; } Utils.WriteCookie("CyinMemberLoginNum", DESEncrypt.Encrypt(LoginCookie.Trim(',')), 144000); Utils.WriteCookie("CyinMemberLoginPwd", DESEncrypt.Encrypt(PwdCookie.Trim(',')), 144000); Utils.WriteCookie("CyinMemberLoginRemember", "true", 144000); } //if (Request["SetUserCookie"] == "123") //{ // Utils.WriteCookie("CyinMemberLoginNum", DESEncrypt.Encrypt(this.LoginId.Value.ToString2()), 10080); // Utils.WriteCookie("CyinMemberLoginPwd", DESEncrypt.Encrypt(this.Password.Text.ToString2()), 10080); // Utils.WriteCookie("CyinMemberLoginRemember", "true", 10080); //} //else //{ // Utils.WriteCookie("CyinMemberLoginNum", ""); // Utils.WriteCookie("CyinMemberLoginPwd", ""); // Utils.WriteCookie("CyinMemberLoginRemember", "false"); //} m_EC_MemberBasic.LastLoginDate = DateTime.Now; m_EC_MemberBasic.LastIp = DNTRequest.GetIP(); if (bll_EC_MemberBasicBLL.UpdateModel(m_EC_MemberBasic)) { EC_MemberBasic m_EC_MemberBasic_SES = Session["nowMemberLogin"] as EC_MemberBasic; Sys_LoginRecordBLL bll_Sys_LoginRecordBLL = new Sys_LoginRecordBLL(); Sys_LoginRecord m_Sys_LoginRecord = new Sys_LoginRecord(); m_Sys_LoginRecord.LoginIP = DNTRequest.GetIP(); m_Sys_LoginRecord.LoginMemberId = m_EC_MemberBasic_SES.MemberId; m_Sys_LoginRecord.LoginMemberName = m_EC_MemberBasic_SES.Name; m_Sys_LoginRecord.LoginRemark = m_EC_MemberBasic_SES.TrueLoginId; m_Sys_LoginRecord.LoginTime = DateTime.Now; m_Sys_LoginRecord.TrueMemberId = m_EC_MemberBasic_SES.TrueMemberId; m_Sys_LoginRecord.TrueMemberName = m_EC_MemberBasic_SES.TrueName; bll_Sys_LoginRecordBLL.InsertModel(m_Sys_LoginRecord); string url = Request["backurlCS"].ToString2(); if (string.IsNullOrEmpty(url)) Res = "1"; else Res = "2"; } else { Res = "登录失败,请稍后再试"; } } } } return Res; } protected string DelCookie(string LoginName) { string Res = ""; try { string LoginCookie = DESEncrypt.Decrypt(Utils.GetCookie("CyinMemberLoginNum")); string PwdCookie = DESEncrypt.Decrypt(Utils.GetCookie("CyinMemberLoginPwd")); string[] loginStrings = LoginCookie.Split(','); string[] pwdStrings = PwdCookie.Split(','); string[] n = new string[loginStrings.Length - 1]; string[] m = new string[pwdStrings.Length - 1]; if (Array.IndexOf(loginStrings, LoginName) >= 0) { for (int i = 0; i < loginStrings.Length; i++) { if (i < Array.IndexOf(loginStrings, LoginName)) { n[i] = loginStrings[i]; m[i] = pwdStrings[i]; } else if (i > Array.IndexOf(loginStrings, LoginName)) { n[i-1] = loginStrings[i]; m[i-1] = pwdStrings[i]; } } LoginCookie = ""; PwdCookie = ""; foreach (string b in n) { LoginCookie += b + ","; } foreach (string b in m) { PwdCookie += b + ","; } } Utils.WriteCookie("CyinMemberLoginNum", DESEncrypt.Encrypt(LoginCookie.Trim(',')), 144000); Utils.WriteCookie("CyinMemberLoginPwd", DESEncrypt.Encrypt(PwdCookie.Trim(',')), 144000); Utils.WriteCookie("CyinMemberLoginRemember", "true", 144000); Res = "1"; } catch (Exception ex) { Res = "2"; } return Res; } } }