You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

323 lines
16 KiB
C#

using System;
using System.Collections;
using System.Configuration;
using System.Data;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.HtmlControls;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using DSWeb.EntityDA;
using DSWeb.Models;
using System.Collections.Generic;
using System.Xml;
namespace DSWeb
{
public partial class Login : System.Web.UI.Page
{
public string sSQL = String.Empty;
DB pDB = new DB();
Cookies cookie = new Cookies();
UserDA UserDA = new UserDA();
public string PageMeta = "";
protected void Page_Load(object sender, EventArgs e)
{
/*XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("vote.xml")); //加载xml
XmlNodeList NodeList = xmlDoc.SelectNodes("/vote/item"); //xml节点的路径
string xmlName = NodeList[0].ChildNodes[0].InnerText; //获取第一个Student节点的StuName
if (xmlName == "2") { Response.Redirect("Login_new.aspx"); }*/
this.Page.Title = "用户登录";
PageMeta = this.Page.Title;
this.hdISAbout.Value = System.Configuration.ConfigurationSettings.AppSettings["isabout"].ToString();
if (!Page.IsPostBack)
{
int isOpenAnnounce = 0;
isOpenAnnounce = int.Parse(System.Configuration.ConfigurationSettings.AppSettings["isannounce"].ToString());
if (isOpenAnnounce == 1)
{
this.lbLoginEB.Visible = true;
}
else
{
this.lbLoginEB.Visible = false;
}
if (Request.Cookies["isCheckBox"] != null)
{
if (Server.UrlDecode(cookie.getCookie("isCheckBox").ToString().Trim()) == "0")
{
this.CheckBox1.Checked = false;
}
else
{
this.CheckBox1.Checked = true;
if (Request.Cookies["COMPANYCODENAME"] != null)
{
this.list_subcompany.Text = Server.UrlDecode(cookie.getCookie("COMPANYCODENAME").ToString().Trim());
}
if (Request.Cookies["COMPANYNAME"] != null)
{
this.lb_subcompany.Value = Server.UrlDecode(cookie.getCookie("COMPANYNAME").ToString().Trim());
}
if (Request.Cookies["CODENAME"] != null)
{
this.list_CODENAME.Text = Server.UrlDecode(cookie.getCookie("CODENAME").ToString().Trim());
}
if (Request.Cookies["SHOWNAME"] != null)
{
this.lb_CODENAME.Value = Server.UrlDecode(cookie.getCookie("SHOWNAME").ToString().Trim());
}
if (Server.UrlDecode(cookie.getCookie("PASSWORD").ToString().Trim()) != "")//Request.Cookies["PASSWORD"] != null && && Request.Cookies["RmbPassword"].ToString() == "1"
{
tbpassword.Attributes.Add("value", Server.UrlDecode(cookie.getCookie("PASSWORD").ToString().Trim()));
//tbpassword.Text = Server.UrlDecode(cookie.getCookie("PASSWORD").ToString().Trim());
this.CheckBox2.Checked = true;
}
else
{
//tbpassword.Attributes.Add("value", "");
this.tbpassword.Attributes.Remove("value");
this.CheckBox2.Checked = false;
}
}
}
}
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(Server.MapPath("vote.xml")); //加载xml
XmlNodeList NodeList = xmlDoc.SelectNodes("/vote/password"); //xml节点的路径
string xmlName = NodeList[0].ChildNodes[0].InnerText; //获取第一个Student节点的StuName
if (xmlName == "1") {
this.CheckBox2.Visible = true;
}
else {
this.CheckBox2.Visible = false;
this.tbpassword.Attributes.Remove("value");
}
//加载下拉框
//Page.ClientScript.RegisterStartupScript(this.GetType(), "key", "<script>initComboSubcompany();</script>");
}
protected void btLogin_Click(object sender, EventArgs e)
{
string strCompanyCode = "";
string strCompanyName = "";
string strUserCodeName = "";
string strUserPassword = "";
strCompanyCode = this.list_subcompany.Text.Trim();
strCompanyName = this.lb_subcompany.Value.Trim();
strUserCodeName = this.list_CODENAME.Text.Trim();
strUserPassword = this.tbpassword.Text.Trim();
if(strCompanyCode.Equals("") || strUserCodeName.Equals("") || strUserPassword.Equals(""))
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "key0", "<script>alert('公司名称、用户名、密码不能为空,请重新登陆!');history.back();</script>");
return;
}
if(strCompanyCode.IndexOf("'") >=0 )
{
strCompanyCode = strCompanyCode.Replace("'"," ");
}
if(strCompanyCode.IndexOf("'") >=0 )
{
strUserCodeName = strUserCodeName.Replace("'"," ");
}
if(strCompanyCode.IndexOf("'") >=0 )
{
strUserPassword = strUserPassword.Replace("'"," ");
}
UserEntity userEntity = new UserEntity();
UserDA userDA = new UserDA();
userEntity = userDA.GetSigleUserInfoBySignIn(strUserCodeName, strUserPassword, strCompanyCode);
CompanyEntity companyEntity = new CompanyEntity();
CompanyDA companyDA = new CompanyDA();
if (userEntity != null)
{
if (userEntity.Gid != null)
{
if (!userEntity.IsDeleted)
{
UserAttributeDA userAttributeDA = new UserAttributeDA();
UserAttributeEntity userAttributeEntity = new UserAttributeEntity();
userAttributeEntity = userAttributeDA.GetUserAttributeByIdAndAttrName(userEntity.Gid,"isUseSystem");
if (userAttributeEntity != null)
{
if (userAttributeEntity.Gid != null)
{
if (userAttributeEntity.RefEntity.AttributeValue.ToString().Trim().ToLower().Equals("true"))
{
Session["USERID"] = userEntity.Gid;
Session["CODENAME"] = userEntity.CodeName;
Session["SHOWNAME"] = userEntity.ShowName;
Session["PASS"] = userEntity.PassWord;
if (this.CheckBox2.Checked)
{
Session["PASSWORD"] = userEntity.PassWord;
}
else
{
Session["PASSWORD"] = "";
}
if (!strCompanyCode.Trim().Equals(""))
{
companyEntity = companyDA.GetCompanyByCodeNameNoLogoImg(strCompanyCode.ToUpper());
if (companyEntity != null)
{
if (companyEntity.GID != null)
{
Session["COMPANYID"] = companyEntity.GID;
Session["COMPANYNAME"] = companyEntity.NAME;
}
}
}
Session["DEPTNAME"] = UserDA.GetUserDepartmentName(userEntity.Gid);
Session["DEPTGID"] = UserDA.GetDEPTGID(userEntity.Gid);
//Record User SignIn System
UserLoginStatusDA userLoginStatusDA = new UserLoginStatusDA();
UserLoginStatusEntity userLoginStatusEntity = new UserLoginStatusEntity();
//查看是否当前登录用户是否是时效内重新登录的用户
userLoginStatusEntity = userLoginStatusDA.GetLoginStatusByUserID(Session["USERID"].ToString());
if (userLoginStatusEntity.GID != null)
{
DateTime signDateTime = userLoginStatusEntity.SignInTime;
DateTime serverDateTime = userLoginStatusEntity.ServerDateTime;
double expiresMinutes = double.Parse(userLoginStatusEntity.ExpiresMinutes.ToString());
if (signDateTime.AddMinutes(expiresMinutes).CompareTo(serverDateTime) >= 0)
{
userLoginStatusDA.DeleteUserLoginStatus(userLoginStatusEntity.GID);
userLoginStatusEntity.GID = Guid.NewGuid().ToString();
userLoginStatusEntity.SessionID = "USERID";
userLoginStatusEntity.ExpiresMinutes = 200;
userLoginStatusDA.InsertLoginStatus(userLoginStatusEntity);
}
else
{
userLoginStatusDA.UpdateLoginStatusForReSign(userLoginStatusEntity);
}
}
else
{
userLoginStatusEntity.GID = Guid.NewGuid().ToString();
userLoginStatusEntity.SessionID = Guid.NewGuid().ToString();
userLoginStatusEntity.UserID = Session["USERID"].ToString();
userLoginStatusEntity.ExpiresMinutes = 200;
userLoginStatusDA.InsertLoginStatus(userLoginStatusEntity);
}
bool ck0 = cookie.setCookie("DSUSERID", Server.UrlEncode(userEntity.Gid));
ck0 = cookie.setCookie("COMPANYCODENAME", Server.UrlEncode(strCompanyCode));
ck0 = cookie.setCookie("COMPANYNAME", Server.UrlEncode(strCompanyName));
ck0 = cookie.setCookie("CODENAME", Server.UrlEncode(userEntity.CodeName));
ck0 = cookie.setCookie("SHOWNAME", Server.UrlEncode(userEntity.ShowName));
if (this.CheckBox2.Checked)
{
ck0 = cookie.setCookie("PASSWORD", Server.UrlEncode(userEntity.PassWord));
}
else
{
ck0 = cookie.setCookie("PASSWORD", "");
}
if (this.CheckBox1.Checked)
{
ck0 = cookie.setCookie("isCheckBox", Server.UrlEncode("1"));
}
else
{
ck0 = cookie.setCookie("isCheckBox", Server.UrlEncode("0"));
}
Response.Redirect("~/Default.aspx");
}
else
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "key4", "<script>alert('账户已禁用,请联系管理员');history.back();</script>");
return;
}
}
else
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "key4", "<script>alert('用户名不存在,或用户名、密码错误,请重新登陆!');history.back();</script>");
return;
}
}
else
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "key4", "<script>alert('用户名不存在,或用户名、密码错误,请重新登陆!');history.back();</script>");
return;
}
}
else
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "key4", "<script>alert('用户名不存在,或用户名、密码错误,请重新登陆!');history.back();</script>");
return;
}
}
else
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "key4", "<script>alert('用户名不存在,或用户名、密码错误,请重新登陆!');history.back();</script>");
return;
}
}
else
{
Page.ClientScript.RegisterStartupScript(this.GetType(), "key4", "<script>alert('用户名不存在,或用户名、密码错误,请重新登陆!');history.back();</script>");
return;
}
}
protected void lbLoginEB_Click(object sender, EventArgs e)
{
Response.Redirect("~/LoginEB.aspx");
return;
}
protected void lnkTo_Click(object sender, EventArgs e)
{
XmlDocument objXmlDoc = new XmlDocument();
objXmlDoc.Load(Server.MapPath("vote.xml"));
objXmlDoc.SelectSingleNode("/vote/item").InnerText = "2";
objXmlDoc.Save(Server.MapPath("vote.xml"));
Response.Redirect("Login_new.aspx");
}
protected void CheckBox2_CheckedChanged(object sender, EventArgs e)
{
if (!this.CheckBox2.Checked)
{
Session["PASSWORD"] = "";
bool chk = cookie.setCookie("PASSWORD", "");
}
else
{
Session["PASSWORD"] = this.tbpassword.Text.Trim();
bool chk = cookie.setCookie("PASSWORD", Server.UrlEncode(this.tbpassword.Text.Trim()));
}
}
}
}