/// <summary> /// 用户登录 /// </summary> /// <param name="password"></param> /// <returns></returns> public bool login(string user, string password) { NameObjectList paramList = new NameObjectList(); paramList["userid"] = user; paramList["密码"] = password; if (null == this.userQuery) { this.userQuery = QueryDataRes.CreateQuerySys(); } DataTable tab = this.userQuery.getTable("人员口令验证", paramList, null); if (tab == null) { return(false); } this._password = password; if (tab.Rows.Count < 1) { return(false); } string userAddress = Dns.GetHostName(); if (null != HttpContext.Current && null != HttpContext.Current.Request) { userAddress = HttpContext.Current.Request.UserHostAddress; } for (int i = 0; i < User.tabUser.Rows.Count; i++) { if (this.UserAccounts == User.tabUser.Rows[i]["帐号"].ToString() && User.tabUser.Rows[i]["登录IP"].ToString() == userAddress) { User.tabUser.Rows[i]["离线时间"] = DateTime.Now; return(true); } } DataRow dr = User.tabUser.NewRow(); dr["帐号"] = this.UserAccounts; dr["登录时间"] = DateTime.Now; dr["离线时间"] = DateTime.Now; dr["登录IP"] = userAddress; User.tabUser.Rows.Add(dr); return(true); }
/// <summary> /// 判断是否初次使用本系统 /// </summary> /// <param name="password"></param> /// <returns></returns> public bool IfFirstLogin() { NameObjectList paramList = new NameObjectList(); if (null == this.userQuery) { this.userQuery = QueryDataRes.CreateQuerySys(); } DataTable tab = this.userQuery.getTable("系统初始验证", paramList, null); if (tab == null) { return(false); } if (tab.Rows.Count < 1) { return(true); } else { return(false); } }
/// <summary> /// 用户修改密码 /// </summary> /// <param name="oldPassword">原来的密码</param> /// <param name="newPassword">新密码</param> /// <returns></returns> public bool ModifyPassword(string oldPassword, string newPassword) { NameObjectList paramList = new NameObjectList(); if (null == this.userQuery) { this.userQuery = QueryDataRes.CreateQuerySys(); } QueryDataRes query = this.userQuery; paramList["userid"] = this.UserAccounts; paramList["原密码"] = oldPassword; paramList["新密码"] = newPassword; if (query.ExecuteUpdate("人员口令验证", paramList)) { this._password = newPassword; return(true); } else { return(false); } }
public User(string userID, Boolean reset, ref Boolean blBad) { this._userId = userID; this._workRight = new WorkUnitRight(); NameObjectList paramList = new NameObjectList(); if (null == User.tabUser || reset == true) { if (null == this.userQuery) { this.userQuery = QueryDataRes.CreateQuerySys(); } User.tabUser = this.userQuery.getTable("用户登录基本信息结构", paramList); } DataRow drUser = null; if (User.tabUser == null) { blBad = true; return; } for (int i = User.tabUser.Rows.Count - 1; i > -1; i--) { DataRow dr = User.tabUser.Rows[i]; DateTime dStart = Convert.ToDateTime(dr["登录时间"]); DateTime dEnd = Convert.ToDateTime(dr["离线时间"]); //超时10分钟 if (dStart.Add(new TimeSpan(0, 10, 0)) < dEnd) { NameObjectList param = new NameObjectList(); param["帐号"] = dr["帐号"]; param["登录时间"] = dr["登录时间"]; param["离线时间"] = dr["离线时间"]; param["登录IP"] = dr["登录IP"]; paramList[paramList.Count.ToString()] = param; User.tabUser.Rows.Remove(dr); continue; } string userAddress = Dns.GetHostName(); if (null != HttpContext.Current && null != HttpContext.Current.Request) { userAddress = HttpContext.Current.Request.UserHostAddress; } if (this.UserAccounts == dr["帐号"].ToString() && dr["登录IP"].ToString() == userAddress) { drUser = dr; dr["离线时间"] = DateTime.Now; } } User.tabUser.AcceptChanges(); NameObjectList[] paramListArry = new NameObjectList[paramList.Count]; for (int i = 0; i < paramListArry.Length; i++) { paramListArry[i] = paramList[i] as NameObjectList; } if (paramListArry.Length > 0) { if (null == this.userQuery) { this.userQuery = QueryDataRes.CreateQuerySys(); } this.userQuery.ExecuteInsert("用户登录日志", paramListArry); } if (null == drUser) { this.createUserInfo(); drUser = User.tabUser.NewRow(); drUser["帐号"] = this.UserAccounts; drUser["登录时间"] = DateTime.Now; drUser["离线时间"] = DateTime.Now; drUser["登录IP"] = Dns.GetHostName(); if (null != HttpContext.Current && null != HttpContext.Current.Request) { drUser["登录IP"] = HttpContext.Current.Request.UserHostAddress; } drUser["姓名"] = this._userName; drUser["部门"] = this._dept; drUser["部门编号"] = this._deptcode; drUser["部门ID"] = this._deptid; drUser["销售部门"] = this._deptSaleName; drUser["分部门"] = this._deptsub; drUser["分部门编号"] = this._deptsubcode; drUser["分部门ID"] = this._deptsubid; drUser["公司"] = this._company; drUser["单位"] = this._unitName; drUser["单位编号"] = this._unitcode; drUser["单位ID"] = this._unitID; drUser["角色"] = this._roleName; drUser["权限类别"] = this._rights; drUser["限制天数"] = this._limitDays; drUser["上级单位"] = this._unitParent; drUser["上级部门"] = this._deptParent; drUser["权限文件"] = this._OPTUnitID; drUser["公网访问"] = this._visitOut; User.tabUser.Rows.Add(drUser); } else { this._userName = (null == drUser["姓名"]) ? "" : drUser["姓名"].ToString(); this._dept = (null == drUser["部门"]) ? "" : drUser["部门"].ToString(); this._deptcode = (null == drUser["部门编号"]) ? "" : drUser["部门编号"].ToString(); this._deptid = (null == drUser["部门ID"]) ? "" : drUser["部门ID"].ToString(); this._deptSaleName = (null == drUser["销售部门"]) ? "" : drUser["销售部门"].ToString(); this._deptsub = (null == drUser["分部门"]) ? "" : drUser["分部门"].ToString(); this._deptsubcode = (null == drUser["分部门编号"]) ? "" : drUser["分部门编号"].ToString(); this._deptsubid = (null == drUser["分部门ID"]) ? "" : drUser["分部门ID"].ToString(); this._company = (null == drUser["公司"]) ? "" : drUser["公司"].ToString(); this._unitName = (null == drUser["单位"]) ? "" : drUser["单位"].ToString(); this._unitcode = (null == drUser["单位编号"]) ? "" : drUser["单位编号"].ToString(); this._unitID = (null == drUser["单位ID"]) ? "" : drUser["单位ID"].ToString(); this._unitParent = (null == drUser["上级单位"]) ? "" : drUser["上级单位"].ToString(); this._deptParent = (null == drUser["上级部门"]) ? "" : drUser["上级部门"].ToString(); this._roleName = (null == drUser["角色"]) ? "" : drUser["角色"].ToString(); this._rights = (null == drUser["权限类别"]) ? "" : drUser["权限类别"].ToString(); this._OPTUnitID = (null == drUser["权限文件"]) ? "" : drUser["权限文件"].ToString(); if (null == drUser["限制天数"]) { this._limitDays = 0; } else { this._limitDays = Convert.ToInt16(drUser["限制天数"]); } if (null == drUser["公网访问"]) { this._visitOut = false; } else { this._visitOut = Convert.ToBoolean(drUser["公网访问"]); } //将加入权限文件收为加入权限数据,来自于表mnu_rights, string fileName = this._OPTUnitID; //取操作员的上级独立单位的ID做为权限文件名(+.xml) if ("" != fileName) { paramList.Clear(); paramList["deptcode"] = this._deptcode; paramList["role"] = this._roleName; } } }
/// <summary> /// 设置用户信息 /// </summary> private void createUserInfo() { NameObjectList paramList = new NameObjectList(); paramList["userid"] = this.UserAccounts; if (null == this.userQuery) { this.userQuery = QueryDataRes.CreateQuerySys(); } DataTable tab = this.userQuery.getTable("人员基本信息", paramList); if (tab.Rows.Count < 1) { this._userName = "******"; } else { this._userName = (null == tab.Rows[0]["姓名"]) ? "" : tab.Rows[0]["姓名"].ToString(); this._dept = (null == tab.Rows[0]["部门"]) ? "" : tab.Rows[0]["部门"].ToString(); this._deptcode = (null == tab.Rows[0]["部门编号"]) ? "" : tab.Rows[0]["部门编号"].ToString(); this._deptid = (null == tab.Rows[0]["部门ID"]) ? "" : tab.Rows[0]["部门ID"].ToString(); this._deptsub = (null == tab.Rows[0]["分部门"]) ? "" : tab.Rows[0]["分部门"].ToString(); this._deptsubcode = (null == tab.Rows[0]["分部门编号"]) ? "" : tab.Rows[0]["分部门编号"].ToString(); this._deptsubid = (null == tab.Rows[0]["分部门ID"]) ? "" : tab.Rows[0]["分部门ID"].ToString(); this._unitName = (null == tab.Rows[0]["单位"]) ? "" : tab.Rows[0]["单位"].ToString(); this._unitcode = (null == tab.Rows[0]["单位编号"]) ? "" : tab.Rows[0]["单位编号"].ToString(); this._unitID = (null == tab.Rows[0]["单位ID"]) ? "" : tab.Rows[0]["单位ID"].ToString(); this._roleName = (null == tab.Rows[0]["角色"]) ? "" : tab.Rows[0]["角色"].ToString(); if (null == tab.Rows[0]["限制天数"] || DBNull.Value == tab.Rows[0]["限制天数"]) { this._limitDays = 0; } else { this._limitDays = Convert.ToInt16(tab.Rows[0]["限制天数"]); } if (null == tab.Rows[0]["公网访问"] || DBNull.Value == tab.Rows[0]["公网访问"]) { this._visitOut = false; } else { this._visitOut = Convert.ToBoolean(tab.Rows[0]["公网访问"]); } } string fileName = ""; if (tab.Rows.Count > 0 && null != tab.Rows[0]["分部门独立管理"] && (tab.Rows[0]["分部门独立管理"].Equals(true) || "true" == tab.Rows[0]["分部门独立管理"].ToString().ToLower())) { fileName = (null == tab.Rows[0]["分部门编号"]) ? "" : tab.Rows[0]["分部门编号"].ToString(); } else if (tab.Rows.Count > 0 && null != tab.Rows[0]["部门独立管理"] && (tab.Rows[0]["部门独立管理"].Equals(true) || "true" == tab.Rows[0]["部门独立管理"].ToString().ToLower())) { fileName = (null == tab.Rows[0]["部门编号"]) ? "" : tab.Rows[0]["部门编号"].ToString(); } else if (tab.Rows.Count > 0) { fileName = (null == tab.Rows[0]["单位编号"]) ? "" : tab.Rows[0]["单位编号"].ToString(); } this._OPTUnitID = fileName; //根据this._OPTUnitID查出权限数据 if ("" != fileName) { //打开权限数据,条件:角色,部门,所在单位(this._OPTUnitID),得出所属节点的操作集 paramList.Clear(); paramList["deptcode"] = this.DeptmentCode; paramList["role"] = this.RoleName; this.userQuery.FillDataSet("rightsql", paramList, this.dsDeptRight); } paramList.Clear(); paramList["DeptCode"] = this.DeptmentCode; paramList["OPTUnitID"] = this.UnitID; if (null == this.userQuery) { this.userQuery = QueryDataRes.CreateQuerySys(); } tab = this.userQuery.getTable("上级部门", paramList); if (null != tab && tab.Rows.Count > 0 && null != tab.Rows[0]["名称"]) { this._deptParent = tab.Rows[0]["名称"].ToString(); } tab = this.userQuery.getTable("销售部门", paramList); if (null != tab && tab.Rows.Count > 0 && null != tab.Rows[0]["名称"]) { this._deptSaleName = tab.Rows[0]["名称"].ToString(); } tab = this.userQuery.getTable("上级单位", paramList); if (null != tab && tab.Rows.Count > 0 && null != tab.Rows[0]["名称"]) { this._unitParent = tab.Rows[0]["名称"].ToString(); } }