using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Security; using System.Web.Script.Serialization; using System.Text; using System.Data; using System.Web.SessionState; namespace FangYar.WebUI.ashx { /// /// LoginHandler 的摘要说明 /// public class LoginHandler : IHttpHandler, IRequiresSessionState { string app = System.Configuration.ConfigurationManager.AppSettings["APP"]; /// /// 是否添加Cook域缓存设置 /// public static string CookSet = System.Configuration.ConfigurationManager.AppSettings["CookSet"] + ""; public void ProcessRequest(HttpContext context) { // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Other, "登录操作请求", ""); context.Response.ContentType = "text/json"; string action = context.Request.Params["Action"]; string returnStr = ""; switch (action) { case "LoginAction": returnStr = login(context); break; case "APPLoginAction": returnStr = APPlogin(context); break; case "XJAPPLoginAction": returnStr = XJAPPlogin(context); break; case "loginOut": returnStr = loginOut(context); break; case "ZGlogin": returnStr = ZGlogin(context); break; case "ZGloginXJ": returnStr = ZGloginXJ(context); break; case "XCXlogin": returnStr = XCXlogin(context); break; case "AppLoginByAppId": returnStr = AppLoginByAppId(context); break; case "XCXLoginByOpenId": returnStr = XCXLoginByOpenId(context); break; case "SendVerification": returnStr = SendVerification(context); break; case "AppUpdateCid": returnStr = AppUpdateCid(context); break; case "AppUpdateOpenId": returnStr = AppUpdateOpenId(context); break; case "TestData": returnStr = TestData(context); break; } context.Response.Write(returnStr); } // 解锁 private string TestData(HttpContext context) { return "{\"code\":1,\"msg\":\"信息内容\"}"; } private string login(HttpContext context) { string UserID = context.Request.Params["strUser"]; string UserPwd = context.Request.Params["strPwd"]; string usersPwd = UserPwd; string revlue = ""; FangYar.Model.LoginUserModel buser = new Model.LoginUserModel(); FangYar.BLL.TBL.SysUsersBLL bll = new BLL.TBL.SysUsersBLL(); FangYar.BLL.TBL.SysEmpBLL empbll = new BLL.TBL.SysEmpBLL(); try { FangYar.Model.TBL.TBL_SYS_APP_Model appmodel = new FangYar.BLL.TBL.SysAppBLL().GetModelByAppCode(app); if (appmodel == null || appmodel.APP_STATE != "0") { revlue = "{\"code\":-1,\"msg\":\"平台已禁止使用\"}"; } else { UserPwd = FangYar.Common.Md5.GetMD5String(UserPwd); buser = bll.UserLogin(UserID, UserPwd); if (buser != null) { if (buser.state == "0") { //获取用户角色 string rolesid = FangYar.BLL.CommomBLL.GetTableIDS("rules_id", "users_uid", "TBL_SYS_USERSRULES", " where users_uid='" + UserID + "' and app_id='" + app + "' and rules_type='2' "); buser.roles = rolesid; //获取用户权限 string rigths = FangYar.BLL.CommomBLL.GetTableIDS("PERM_VALUE", "app_id", "TBL_SYS_PERM", " where id in(select perm_id from TBL_SYS_ROLEPERM where ROLE_ID in('" + rolesid.Replace(",", "','") + "') and app_id='" + app + "' ) "); buser.rights = rigths; //获取用户区域 FangYar.Model.FIRE.FIRE_ORG area = new BLL.FIRE.FIRE_ORG().GetModel(buser.OrgID); if (area != null) { buser.AreaID = area.CITY; } StringBuilder userdata = new StringBuilder(); new JavaScriptSerializer().Serialize(buser, userdata); //数据放入ticket FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, UserID, DateTime.Now, DateTime.Now.AddMinutes(720), true, userdata.ToString()); //数据加密 string enyTicket = FormsAuthentication.Encrypt(ticket); //将身份信息保存在cookie中,验证当前请求是否是有效请求 HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, enyTicket); HttpContext.Current.Response.Cookies.Add(cookie); //buser.OrgName,buser.DeptName; //营区政工需要的参数数据获取:员工ID+PWD+NAME、机构ID+NAME、部门ID+NAME、手机、民族、照片、学历、性别、政治面貌、职位 FangYar.Model.TBL.TBL_SYS_EMP_Model empModel = empbll.GetModelByUserID(buser.OrgID, UserID); if (empModel == null) { return "{\"code\":-1,\"msg\":\"账户不存在!\"}"; } //总队机关七个领导单独处理 switch (UserID) { //测试 case "13866138665": //胡东宁 case "19809889000": //魏治宇 case "19889201111": //王岗 case "18388586666": //扎西平措 case "13908906669": //王涛 case "13908919779": //何峰 case "18489206999": //加阿次登 case "13518906666": //钟捷 case "13880281199": //许卫东 case "13908905245": empModel.ORG_ID = "D8DC637B8B984848A63F82A018AFAEB0"; empModel.ORG_NAME = "西藏消防总队"; empModel.IS_ADMIN = "1"; buser.IsAdmin = "1"; buser.OrgName = "西藏消防总队"; buser.OrgID = "D8DC637B8B984848A63F82A018AFAEB0"; buser.SubOrgCount = 8; break; } if (buser.IsAdmin == "1" && UserID.Substring(0, 1) == "1") { empModel.ORG_ID = Common.WebCommonUtil.GetOrgIdDownLevelToUpLevel(buser.OrgID); buser.OrgID = Common.WebCommonUtil.GetOrgIdDownLevelToUpLevel(buser.OrgID); } HttpCookie cookie2 = new HttpCookie("kn_root_cookie", "{\"usersUid\":\"" + UserID + "\",\"usersName\":\"" + buser.USERS_NAME + "\",\"IsAdmin\":\"" + buser.IsAdmin + "\",\"cityId\":\"" + buser.CityCode + "\",\"orgId\":\"" + buser.OrgID + "\",\"orgName\":\"" + buser.OrgName + "\",\"deptId\":\"" + buser.DeptID + "\",\"deptName\":\"" + buser.DeptName + "\",\"pid\":\"" + buser.Pid + "\",\"userMobile\":\"" + buser.USERS_MOBILE + "\",\"userSex\":\"" + empModel.EMP_SEX + "\",\"userNation\":\"" + empModel.NATION_NAME + "\",\"userFace\":\"" + empModel.FACE_NAME + "\",\"userCert\":\"" + empModel.CERT_NAME + "\",\"userProf\":\"" + empModel.PROF_NAME + "\",\"userPhoto\":\"" + empModel.PHOTO + "\",\"roles\":\"" + buser.roles + "\"}"); // 令 Cookie 永不过期 //cookie2.Expires = System.DateTime.Now.AddDays(7.0); // 保存用户的 Cookie if (CookSet != "1") { cookie2.Domain = ".xfzn365.com"; } HttpContext.Current.Response.Cookies.Add(cookie2); //营区logger使用 HttpCookie cookie3 = new HttpCookie("kn_root_UserID", UserID); // 令 Cookie 永不过期 cookie2.Expires = System.DateTime.Now.AddDays(7.0); // 保存用户的 Cookie if (CookSet != "1") { cookie2.Domain = ".xfzn365.com"; } HttpContext.Current.Response.Cookies.Add(cookie3); //roadflow session存储 FangYar.BLL.TBL.SysUsersBLL userbll = new FangYar.BLL.TBL.SysUsersBLL(); string uniqueID = ""; context.Session[RoadFlow.Utility.Keys.SessionKeys.UserID.ToString()] = buser.UserCode; context.Session[RoadFlow.Utility.Keys.SessionKeys.OrgID.ToString()] = buser.OrgID; context.Session[RoadFlow.Utility.Keys.SessionKeys.UserUniqueID.ToString()] = uniqueID; context.Session[RoadFlow.Utility.Keys.SessionKeys.User.ToString()] = userbll.GetModelByUID(buser.UserCode); revlue = "{\"code\":1,\"msg\":\"登录成功\",\"data\":" + FangYar.Common.JsonHelper.ToJson(buser) + "}"; //revlue += "{\"code\":1,\"msg\":\"登录成功\",\"data\":" + FangYar.Common.JsonHelper.ToJson(buser) + ",\"Ticket\":" + enyTicket + "}"; Common.logger logger = new Common.logger(); //logger.Info("PC登录系统成功"); } else if (buser.state == "9") { revlue = "{\"code\":-1,\"msg\":\"您的账户已删除!请联系管理员!\"}"; } else { revlue = "{\"code\":-1,\"msg\":\"您的账户已锁定!请联系管理员!\"}"; } } else { revlue = "{\"code\":0,\"msg\":\"用户名密码错误\"}"; } } } catch (Exception e) { revlue = "{\"code\":-1,\"msg\":\"" + e.Message + "\"}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "登录请求", "后台登录请求异常:" + e); string str = "PC登录异常:" + e; FangYar.Common.MyLogHelper.WriteMsg(new FangYar.Common.LogInfoMo() { message = str, msgType = FangYar.Common.EnumLogMsgTypeEnum.Error, path = "LoginError" }); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Other, "登录请求", "后台登录请求"); return revlue; } private string APPlogin(HttpContext context) { string UserID = context.Request.Params["strUser"]; string UserPwd = context.Request.Params["strPwd"]; string usersPwd = UserPwd; string revlue = ""; FangYar.Model.LoginUserModel buser = new Model.LoginUserModel(); FangYar.BLL.TBL.SysUsersBLL bll = new BLL.TBL.SysUsersBLL(); try { FangYar.Model.TBL.TBL_SYS_APP_Model appmodel = new FangYar.BLL.TBL.SysAppBLL().GetModelByAppCode(app); if (appmodel == null || appmodel.APP_STATE != "0") { revlue = "{\"code\":-1,\"msg\":\"平台已禁止使用\"}"; } else { UserPwd = FangYar.Common.Md5.GetMD5String(UserPwd); buser = bll.UserLogin(UserID, UserPwd); if (buser != null) { if (buser.state == "0") { //获取用户角色 string rolesid = FangYar.BLL.CommomBLL.GetTableIDS("rules_id", "users_uid", "TBL_SYS_USERSRULES", " where users_uid='" + UserID + "' and app_id='" + app + "' and rules_type='2' "); buser.roles = rolesid; //获取用户区域 DataTable area = new BLL.FIRE.FIRE_ORG().GetFireOrg(" ORG_ID='" + buser.OrgID + "'").Tables[0]; if (area != null) { buser.AreaID = area.Rows[0]["CITY"].ToString(); buser.AreaName = area.Rows[0]["AREA_NAME"].ToString(); } //获取APP更新信息 DataTable appupdate = new BLL.OA.TBL_APPUPDATE().GetAppUpdate(buser.OrgCityType).Tables[0]; //roadflow session存储 string uniqueID = ""; context.Session[RoadFlow.Utility.Keys.SessionKeys.UserID.ToString()] = buser.UserCode; context.Session[RoadFlow.Utility.Keys.SessionKeys.OrgID.ToString()] = buser.OrgID; context.Session[RoadFlow.Utility.Keys.SessionKeys.UserUniqueID.ToString()] = uniqueID; revlue = "{\"code\":1,\"msg\":\"登录成功\",\"data\":" + FangYar.Common.JsonHelper.ToJson(buser); revlue += ",\"data2\":" + FangYar.Common.JsonHelper.ToJson(appupdate) + "}"; //revlue += "{\"code\":1,\"msg\":\"登录成功\",\"data\":" + FangYar.Common.JsonHelper.ToJson(buser) + ",\"Ticket\":" + enyTicket + "}"; } else { revlue = "{\"code\":-1,\"msg\":\"您的账户已锁定!请联系管理员!\"}"; } } else { revlue = "{\"code\":0,\"msg\":\"用户名密码错误\"}"; } } } catch (Exception e) { revlue = "{\"code\":-1,\"msg\":\"" + e.Message + "\"}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "登录请求", "APP登录请求异常:" + e); string str = "APP登录异常:" + e; FangYar.Common.MyLogHelper.WriteMsg(new FangYar.Common.LogInfoMo() { message = str, msgType = FangYar.Common.EnumLogMsgTypeEnum.Error, path = "LoginError" }); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Other, "登录请求", "APP登录请求"); return revlue; } private string XJAPPlogin(HttpContext context) { string UserID = context.Request.Params["strUser"]; string UserPwd = context.Request.Params["strPwd"]; string versionFramework = context.Request.Params["version1"].Trim(); string versionHotUpdate = context.Request.Params["version2"].Trim(); string AppId = context.Request.Params["AppId"].Trim(); string usersPwd = UserPwd; string revlue = ""; //密码原始字符串 string pwdStr = context.Request.Params["strPwd"]; Model.LoginUserModel buser = new Model.LoginUserModel(); BLL.TBL.SysUsersBLL bll = new BLL.TBL.SysUsersBLL(); try { Model.TBL.TBL_SYS_APP_Model appmodel = new BLL.TBL.SysAppBLL().GetModelByAppCode(app); if (appmodel == null || appmodel.APP_STATE != "0") { revlue = "{\"code\":-1,\"msg\":\"平台已禁止使用\"}"; } else { UserPwd = Common.Md5.GetMD5String(UserPwd); buser = bll.UserLogin(UserID, UserPwd); if (buser != null) { //if (buser.OrgID == "D8DC637B8B984848A63F82A018AFAEB0") //{ // buser.OrgID = "734389c7ae364584aea9918693bba3de"; // buser.OrgName = "总队机关"; //} if (buser.state == "0") { //获取用户角色 string rolesid = BLL.CommomBLL.GetTableIDS("rules_id", "users_uid", "TBL_SYS_USERSRULES", " where users_uid='" + UserID + "' and app_id='" + app + "' and rules_type='2' "); buser.roles = rolesid; //获取用户区域 DataTable area = new BLL.FIRE.FIRE_ORG().GetFireOrg(" ORG_ID='" + buser.OrgID + "'").Tables[0]; if (area != null) { buser.AreaID = area.Rows[0]["CITY"].ToString(); buser.AreaName = area.Rows[0]["AREA_NAME"].ToString(); } //获取APP更新信息 DataTable appupdate = new BLL.OA.TBL_APPUPDATE().GetAppUpdate(buser.OrgCityType).Tables[0]; if (appupdate.Rows.Count > 0) { appupdate.Columns.Add("IsUpdate", typeof(int)); appupdate.Rows[0]["IsUpdate"] = 0; if (versionFramework != appupdate.Rows[0]["APP_VERSION"].ToString().Trim()) { appupdate.Rows[0]["IsUpdate"] = 1; } else { if (versionHotUpdate != appupdate.Rows[0]["HOTUPDATEVERSION"].ToString().Trim()) { appupdate.Rows[0]["IsUpdate"] = 2; } } } //roadflow session存储 string uniqueID = ""; context.Session[RoadFlow.Utility.Keys.SessionKeys.UserID.ToString()] = buser.UserCode; context.Session[RoadFlow.Utility.Keys.SessionKeys.OrgID.ToString()] = buser.OrgID; context.Session[RoadFlow.Utility.Keys.SessionKeys.UserUniqueID.ToString()] = uniqueID; revlue = "{\"code\":1,\"msg\":\"登录成功\",\"data\":" + FangYar.Common.JsonHelper.ToJson(buser); revlue += ",\"data2\":" + FangYar.Common.JsonHelper.ToJson(appupdate); //revlue += "{\"code\":1,\"msg\":\"登录成功\",\"data\":" + FangYar.Common.JsonHelper.ToJson(buser) + ",\"Ticket\":" + enyTicket + "}"; string userMenuList = GetUserMenu(buser, "0"); revlue += ",\"MENUARRAY\":" + userMenuList; bool isupcid = new BLL.TBL.SysEmpBLL().updateCid(UserID, AppId); revlue += ",\"isUpdateCid\":\"" + isupcid + "\"}"; } else { revlue = "{\"code\":-1,\"msg\":\"您的账户已锁定!请联系管理员!\"}"; } } else { revlue = "{\"code\":0,\"msg\":\"用户名密码错误\"}"; } } } catch (Exception e) { revlue = "{\"code\":-1,\"msg\":\"" + e.Message + "\"}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "登录请求", "西藏APP登录请求异常:" + e); string str = "西藏APP登录异常:" + e; FangYar.Common.MyLogHelper.WriteMsg(new FangYar.Common.LogInfoMo() { message = str, msgType = FangYar.Common.EnumLogMsgTypeEnum.Error, path = "LoginError" }); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Other, "登录请求", "西藏APP登录请求"); return revlue; } // 政工登录调用(西藏) private string ZGlogin(HttpContext context) { string UserID = context.Request.Params["strUser"]; string UserPwd = context.Request.Params["strPwd"]; string usersPwd = UserPwd; string revlue = ""; FangYar.Model.LoginUserModel buser = new Model.LoginUserModel(); FangYar.BLL.TBL.SysUsersBLL bll = new BLL.TBL.SysUsersBLL(); FangYar.BLL.TBL.SysEmpBLL empbll = new BLL.TBL.SysEmpBLL(); try { FangYar.Model.TBL.TBL_SYS_APP_Model appmodel = new FangYar.BLL.TBL.SysAppBLL().GetModelByAppCode(app); if (appmodel == null || appmodel.APP_STATE != "0") { revlue = "{\"code\":-1,\"msg\":\"平台已禁止使用\"}"; } else { UserPwd = FangYar.Common.Md5.GetMD5String(UserPwd); buser = bll.UserLogin(UserID, UserPwd); if (buser != null) { if (buser.state == "0") { //获取用户角色 string rolesid = FangYar.BLL.CommomBLL.GetTableIDS("rules_id", "users_uid", "TBL_SYS_USERSRULES", " where users_uid='" + UserID + "' and app_id='" + app + "' and rules_type='2' "); buser.roles = rolesid; //获取用户区域 DataTable area = new BLL.FIRE.FIRE_ORG().GetFireOrg(" ORG_ID='" + buser.OrgID + "'").Tables[0]; if (area != null) { buser.AreaID = area.Rows[0]["CITY"].ToString(); buser.AreaName = area.Rows[0]["AREA_NAME"].ToString(); } //营区政工需要的参数数据获取:员工ID+PWD+NAME、机构ID+NAME、部门ID+NAME、手机、民族、照片、学历、性别、政治面貌、职位 FangYar.Model.TBL.TBL_SYS_EMP_Model empModel = empbll.GetModelByUserID(buser.OrgID, UserID); if (empModel == null) { return "{\"code\":-1,\"msg\":\"账户不存在!\"}"; } string data = "{\"usersUid\":\"" + UserID + "\",\"usersName\":\"" + buser.USERS_NAME + "\",\"orgId\":\"" + buser.OrgID + "\",\"IS_SUPER\":\"" + buser.IS_SUPER + "\",\"orgName\":\"" + buser.OrgName + "\",\"deptId\":\"" + buser.DeptID + "\",\"deptName\":\"" + buser.DeptName + "\",\"userMobile\":\"" + buser.USERS_MOBILE + "\",\"userSex\":\"" + empModel.EMP_SEX + "\",\"userNation\":\"" + empModel.NATION_NAME + "\",\"userFace\":\"" + empModel.FACE_NAME + "\",\"userCert\":\"" + empModel.CERT_NAME + "\",\"userProf\":\"" + empModel.PROF_NAME + "\",\"userPhoto\":\"" + empModel.PHOTO + "\",\"roles\":\"" + buser.roles + "\"}"; revlue = "{\"code\":1,\"msg\":\"登录成功\",\"data\":" + data + "}"; //revlue += "{\"code\":1,\"msg\":\"登录成功\",\"data\":" + FangYar.Common.JsonHelper.ToJson(buser) + ",\"Ticket\":" + enyTicket + "}"; } else if (buser.state == "9") { revlue = "{\"code\":-1,\"msg\":\"您的账户已删除!请联系管理员!\"}"; } else { revlue = "{\"code\":-1,\"msg\":\"您的账户已锁定!请联系管理员!\"}"; } } else { revlue = "{\"code\":0,\"msg\":\"用户名密码错误\"}"; } } } catch (Exception e) { revlue = "{\"code\":-1,\"msg\":\"" + e.Message + "\"}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "登录请求", "西藏政工登录请求异常:" + e); string str = "西藏政工登录异常:" + e; FangYar.Common.MyLogHelper.WriteMsg(new FangYar.Common.LogInfoMo() { message = str, msgType = FangYar.Common.EnumLogMsgTypeEnum.Error, path = "LoginError" }); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Other, "登录请求", "西藏政工登录请求"); return revlue; } // 政工登录调用(新疆) private string ZGloginXJ(HttpContext context) { string UserID = context.Request.Params["strUser"]; string revlue = ""; FangYar.Model.LoginUserModel buser = new Model.LoginUserModel(); FangYar.BLL.TBL.SysUsersBLL bll = new BLL.TBL.SysUsersBLL(); FangYar.BLL.TBL.SysEmpBLL empbll = new BLL.TBL.SysEmpBLL(); try { FangYar.Model.TBL.TBL_SYS_APP_Model appmodel = new FangYar.BLL.TBL.SysAppBLL().GetModelByAppCode(app); if (appmodel == null || appmodel.APP_STATE != "0") { revlue = "{\"code\":-1,\"msg\":\"平台已禁止使用\"}"; } else { buser = bll.UserLoginByUID(UserID); if (buser != null) { if (buser.state == "0") { //获取用户角色 string rolesid = FangYar.BLL.CommomBLL.GetTableIDS("rules_id", "users_uid", "TBL_SYS_USERSRULES", " where users_uid='" + UserID + "' and app_id='" + app + "' and rules_type='2' "); buser.roles = rolesid; //营区政工需要的参数数据获取:员工ID+PWD+NAME、机构ID+NAME、部门ID+NAME、手机、民族、照片、学历、性别、政治面貌、职位 IS_SUPER FangYar.Model.TBL.TBL_SYS_EMP_Model empModel = empbll.GetModelByUserID(buser.OrgID, UserID); string data = "{\"usersUid\":\"" + UserID + "\",\"usersName\":\"" + buser.USERS_NAME + "\",\"orgId\":\"" + buser.OrgID + "\",\"IS_SUPER\":\"" + buser.IS_SUPER + "\",\"orgName\":\"" + buser.OrgName + "\",\"deptId\":\"" + buser.DeptID + "\",\"deptName\":\"" + buser.DeptName + "\",\"userMobile\":\"" + buser.USERS_MOBILE + "\",\"userSex\":\"" + empModel.EMP_SEX + "\",\"userNation\":\"" + empModel.NATION_NAME + "\",\"userFace\":\"" + empModel.FACE_NAME + "\",\"userCert\":\"" + empModel.CERT_NAME + "\",\"userProf\":\"" + empModel.PROF_NAME + "\",\"userPhoto\":\"" + empModel.PHOTO + "\",\"roles\":\"" + buser.roles + "\"}"; revlue = "{\"code\":1,\"msg\":\"登录成功\",\"data\":" + data + "}"; //revlue += "{\"code\":1,\"msg\":\"登录成功\",\"data\":" + FangYar.Common.JsonHelper.ToJson(buser) + ",\"Ticket\":" + enyTicket + "}"; } else { revlue = "{\"code\":-1,\"msg\":\"您的账户已锁定!请联系管理员!\"}"; } } else { revlue = "{\"code\":0,\"msg\":\"用户名密码错误\"}"; } } } catch (Exception e) { revlue = "{\"code\":-1,\"msg\":\"" + e.Message + "\"}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "登录请求", "新疆政工登录请求异常:" + e); string str = "新疆政工登录异常:" + e; FangYar.Common.MyLogHelper.WriteMsg(new FangYar.Common.LogInfoMo() { message = str, msgType = FangYar.Common.EnumLogMsgTypeEnum.Error, path = "LoginError" }); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Other, "登录请求", "新疆政工登录请求"); return revlue; } // 解锁 private string unLock(HttpContext context) { string UserPwd = context.Request.Params["strPwd"]; string revlue = ""; try { FangYar.Model.LoginUserModel user = FangYar.WebUI.WebCommon.HttpUtil.GetUser(context); if (user != null) { FangYar.Model.TBL.TBL_SYS_USERS_Model model = new BLL.TBL.SysUsersBLL().GetModelByUID(user.UserCode); if (model.USERS_PWD == FangYar.Common.Md5.GetMD5String(UserPwd)) { revlue = "{\"code\":1,\"msg\":\"解锁成功!\"}"; } else { revlue = "{\"code\":-1,\"msg\":\"密码错误!\"}"; } } else { revlue = "{\"code\":-2,\"msg\":\"登录超时!\"}"; } } catch (Exception e) { revlue = "{\"code\":-1,\"msg\":\"" + e.Message + "\"}"; } return revlue; } // 注销登陆 private string loginOut(HttpContext context) { context.Response.Cookies.Clear(); FormsAuthentication.SignOut(); // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Other, "登录请求", "注销登录"); return "{\"code\":1,\"msg\":\"注销成功!\"}"; } public string checklogin(HttpContext context) { string UserID = context.Request.Params["strUser"]; string UserPwd = context.Request.Params["strPwd"]; string revlue = ""; FangYar.Model.BaseUserModel buser = new Model.BaseUserModel(); FangYar.BLL.BaseUserBLL bll = new BLL.BaseUserBLL(); try { UserPwd = FangYar.Common.Md5.GetMD5String(UserPwd); buser = bll.UserLogin(UserID, UserPwd); if (buser != null) { revlue += "{\"status\":1,\"message\":" + FangYar.Common.JsonHelper.ToJson(buser) + "}"; } else { revlue += "{\"status\":0,\"message\":\"用户名密码错误\"}"; } } catch (Exception e) { revlue = "{\"status\":-1,\"message\":\"" + e.Message + "\"}"; } return revlue; } //小程序登录 private string XCXlogin(HttpContext context) { string UserID = context.Request.Params["strUser"]; string UserPwd = context.Request.Params["strPwd"]; string usersPwd = UserPwd; string revlue = ""; //密码原始字符串 string pwdStr = context.Request.Params["strPwd"]; Model.LoginUserModel buser = new Model.LoginUserModel(); BLL.TBL.SysUsersBLL bll = new BLL.TBL.SysUsersBLL(); try { Model.TBL.TBL_SYS_APP_Model appmodel = new BLL.TBL.SysAppBLL().GetModelByAppCode(app); if (appmodel == null || appmodel.APP_STATE != "0") { revlue = "{\"code\":-1,\"msg\":\"平台已禁止使用\"}"; } else { UserPwd = Common.Md5.GetMD5String(UserPwd); buser = bll.UserLogin(UserID, UserPwd); if (buser != null) { if (buser.state == "0") { //获取用户角色 string rolesid = BLL.CommomBLL.GetTableIDS("rules_id", "users_uid", "TBL_SYS_USERSRULES", " where users_uid='" + UserID + "' and app_id='" + app + "' and rules_type='2' "); buser.roles = rolesid; //获取用户区域 DataTable area = new BLL.FIRE.FIRE_ORG().GetFireOrg(" ORG_ID='" + buser.OrgID + "'").Tables[0]; if (area != null) { buser.AreaID = area.Rows[0]["CITY"].ToString(); buser.AreaName = area.Rows[0]["AREA_NAME"].ToString(); } revlue = "{\"code\":1,\"msg\":\"登录成功\",\"data\":" + FangYar.Common.JsonHelper.ToJson(buser); string userMenuList = GetUserMenu(buser, "1"); revlue += ",\"MENUARRAY\":" + userMenuList + "}"; } else { revlue = "{\"code\":-1,\"msg\":\"您的账户已锁定!请联系管理员!\"}"; } } else { revlue = "{\"code\":0,\"msg\":\"用户名密码错误\"}"; } } } catch (Exception e) { revlue = "{\"code\":-1,\"msg\":\"" + e.Message + "\"}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Error, "登录请求", "小程序登录请求异常:" + e); string str = "小程序登录异常:" + e; FangYar.Common.MyLogHelper.WriteMsg(new FangYar.Common.LogInfoMo() { message = str, msgType = FangYar.Common.EnumLogMsgTypeEnum.Error, path = "LoginError" }); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Other, "登录请求", "小程序登录请求"); return revlue; } //App登录校验是否更新、校验AppId是否为常用设备登录 private string AppLoginByAppId(HttpContext context) { string UserID = context.Request.Params["strUser"]; string UserPwd = context.Request.Params["strPwd"]; string versionFramework = context.Request.Params["version1"].Trim(); string versionHotUpdate = context.Request.Params["version2"].Trim(); string AppId = context.Request.Params["AppId"].Trim(); string usersPwd = UserPwd; string revlue = ""; Model.LoginUserModel buser = new Model.LoginUserModel(); BLL.TBL.SysUsersBLL bll = new BLL.TBL.SysUsersBLL(); try { Model.TBL.TBL_SYS_APP_Model appmodel = new BLL.TBL.SysAppBLL().GetModelByAppCode(app); if (appmodel == null || appmodel.APP_STATE != "0") { revlue = "{\"code\":-1,\"msg\":\"平台已禁止使用\"}"; } else { UserPwd = Common.Md5.GetMD5String(UserPwd); buser = bll.UserLogin(UserID, UserPwd); if (buser != null) { if (buser.state == "0") { //获取APP更新信息 DataTable appupdate = new BLL.OA.TBL_APPUPDATE().GetAppUpdate(buser.OrgCityType).Tables[0]; if (appupdate.Rows.Count > 0) { appupdate.Columns.Add("IsUpdate", typeof(int)); appupdate.Rows[0]["IsUpdate"] = 0; if (versionFramework != appupdate.Rows[0]["APP_VERSION"].ToString().Trim()) { appupdate.Rows[0]["IsUpdate"] = 1; } else { if (versionHotUpdate != appupdate.Rows[0]["HOTUPDATEVERSION"].ToString().Trim()) { appupdate.Rows[0]["IsUpdate"] = 2; } } } //获取用户角色 string rolesid = BLL.CommomBLL.GetTableIDS("rules_id", "users_uid", "TBL_SYS_USERSRULES", " where users_uid='" + UserID + "' and app_id='" + app + "' and rules_type='2' "); buser.roles = rolesid; //获取用户区域 DataTable area = new BLL.FIRE.FIRE_ORG().GetFireOrg(" ORG_ID='" + buser.OrgID + "'").Tables[0]; if (area != null) { buser.AreaID = area.Rows[0]["CITY"].ToString(); buser.AreaName = area.Rows[0]["AREA_NAME"].ToString(); } if (buser.Cid == AppId) { revlue = "{\"code\":1,\"msg\":\"登录成功\""; } else { revlue = "{\"code\":-2,\"msg\":\"登录新设备需要安全认证!\""; } revlue += ",\"data\":" + FangYar.Common.JsonHelper.ToJson(buser); revlue += ",\"data2\":" + FangYar.Common.JsonHelper.ToJson(appupdate); string userMenuList = GetUserMenu(buser, "0"); revlue += ",\"MENUARRAY\":" + userMenuList + "\"}"; } else { revlue = "{\"code\":-1,\"msg\":\"您的账户已锁定!请联系管理员!\"}"; } } else { revlue = "{\"code\":0,\"msg\":\"用户名密码错误\"}"; } } } catch (Exception e) { revlue = "{\"code\":-1,\"msg\":\"" + e.Message + "\"}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Other, "登录请求", "App登录校验是否更新异常:" + e); string str = "App登录校验是否更新:" + e; FangYar.Common.MyLogHelper.WriteMsg(new FangYar.Common.LogInfoMo() { message = str, msgType = FangYar.Common.EnumLogMsgTypeEnum.Error, path = "LoginError" }); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Other, "登录请求", "App登录校验是否更新"); return revlue; } //微信小程序、校验OpenId是否为常用设备登录 private string XCXLoginByOpenId(HttpContext context) { string UserID = context.Request.Params["strUser"]; string UserPwd = context.Request.Params["strPwd"]; string OpenId = context.Request.Params["OpenId"].Trim(); string usersPwd = UserPwd; string revlue = ""; try { bool isupcid = new BLL.TBL.SysEmpBLL().updateOpenId(UserID, OpenId); } catch (Exception ex) { } Model.LoginUserModel buser = new Model.LoginUserModel(); BLL.TBL.SysUsersBLL bll = new BLL.TBL.SysUsersBLL(); try { Model.TBL.TBL_SYS_APP_Model appmodel = new BLL.TBL.SysAppBLL().GetModelByAppCode(app); if (appmodel == null || appmodel.APP_STATE != "0") { revlue = "{\"code\":-1,\"msg\":\"平台已禁止使用\"}"; } else { UserPwd = Common.Md5.GetMD5String(UserPwd); buser = bll.UserLogin(UserID, UserPwd); if (buser != null) { if (buser.state == "0") { //获取用户角色 string rolesid = BLL.CommomBLL.GetTableIDS("rules_id", "users_uid", "TBL_SYS_USERSRULES", " where users_uid='" + UserID + "' and app_id='" + app + "' and rules_type='2' "); buser.roles = rolesid; //获取用户区域 DataTable area = new BLL.FIRE.FIRE_ORG().GetFireOrg(" ORG_ID='" + buser.OrgID + "'").Tables[0]; if (area != null) { buser.AreaID = area.Rows[0]["CITY"].ToString(); buser.AreaName = area.Rows[0]["AREA_NAME"].ToString(); } //if (buser.OpenId == OpenId) //{ revlue = "{\"code\":1,\"msg\":\"登录成功\""; //} //else //{ // revlue = "{\"code\":-2,\"msg\":\"登录新设备需要安全认证!\""; //} revlue += ",\"data\":" + FangYar.Common.JsonHelper.ToJson(buser); string userMenuList = GetUserMenu(buser, "1"); revlue += ",\"MENUARRAY\":" + userMenuList + "}"; } else { revlue = "{\"code\":-1,\"msg\":\"您的账户已锁定!请联系管理员!\"}"; } } else { revlue = "{\"code\":0,\"msg\":\"用户名密码错误\"}"; } } } catch (Exception e) { revlue = "{\"code\":-1,\"msg\":\"" + e.Message + "\"}"; // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Other, "登录请求", "微信小程序、校验OpenId是否为常用设备登录异常:" + e); string str = "微信小程序校验OpenId是否为常用设备登录异常:" + e; FangYar.Common.MyLogHelper.WriteMsg(new FangYar.Common.LogInfoMo() { message = str, msgType = FangYar.Common.EnumLogMsgTypeEnum.Error, path = "LoginError" }); } // 记录操作日志 BLL.SysOperationLogHelp.AddSysOperationLog(context, Common.EnumOperationLogType.Other, "登录请求", "微信小程序、校验OpenId是否为常用设备登录"); return revlue; } #region 通用 /// /// 根据用户获取菜单列表 /// /// /// 0:APP;1:小程序 /// private string GetUserMenu(FangYar.Model.LoginUserModel user, string flag) //平台菜单、主菜单、子菜单需要设置好等级 { string returnstr = "["; try { if (user != null) { string menuidFirst = "5307AA9161184B7CA323D044FFB11416"; switch (flag) { case "1": menuidFirst = "025e981ac3c54c769f861ce3c06a529d"; break; } DataTable dt = getmenu(user, null, menuidFirst); string id, title, url, fid, type, level, order, state, action, icon, idone, idtwo, flowtype; var index = 0; for (int i = 0; i < dt.Rows.Count; i++) { if (dt.Rows[i]["MENU_PARENT"].ToString() == menuidFirst) { id = dt.Rows[i]["ID"].ToString(); title = dt.Rows[i]["MENU_TITLE"].ToString(); url = dt.Rows[i]["MENU_URL"].ToString(); fid = dt.Rows[i]["MENU_PARENT"].ToString(); type = dt.Rows[i]["MENU_TYPE"].ToString(); level = dt.Rows[i]["MENU_LEVEL"].ToString(); order = dt.Rows[i]["MENU_ORDER"].ToString(); state = dt.Rows[i]["MENU_FLAG"].ToString(); action = dt.Rows[i]["MENU_ACTION"].ToString(); icon = dt.Rows[i]["MENU_ICON"].ToString(); flowtype = dt.Rows[i]["FLOWTYPE"].ToString(); if (index > 0) { returnstr += ","; } returnstr += "{"; returnstr += "\"TITLE\":\"" + title + "\""; //returnstr += ",\"ICON\":\"layui-icon " + icon + "\""; returnstr += ",\"ICON\":\"iconfont " + icon + "\""; returnstr += ",\"SPREAD\":\"false\""; returnstr += ",\"HREF\":\"" + url + "\""; returnstr += ",\"ID\":\"" + id + "\""; returnstr += ",\"TYPE\":\"" + type + "\""; returnstr += ",\"STATE\":\"" + state + "\""; returnstr += ",\"LEVEL\":\"" + level + "\""; returnstr += ",\"ORDER\":\"" + order + "\""; returnstr += ",\"ACTION\":\"" + action + "\""; returnstr += ",\"FLOWTYPE\":\"" + flowtype + "\""; returnstr += ",\"BADGE\":" + 0 + ""; returnstr += ",\"CHILDREN\":["; dt.Rows.RemoveAt(i); i--; index++; int a = 0; idone = id; for (int j = 0; j < dt.Rows.Count; j++) { string aw = dt.Rows[j]["MENU_TITLE"].ToString(); if (dt.Rows[j]["MENU_PARENT"].ToString() == idone) { id = dt.Rows[j]["ID"].ToString(); title = dt.Rows[j]["MENU_TITLE"].ToString(); url = dt.Rows[j]["MENU_URL"].ToString(); type = dt.Rows[j]["MENU_TYPE"].ToString(); level = dt.Rows[j]["MENU_LEVEL"].ToString(); order = dt.Rows[j]["MENU_ORDER"].ToString(); state = dt.Rows[j]["MENU_FLAG"].ToString(); action = dt.Rows[j]["MENU_ACTION"].ToString(); icon = dt.Rows[j]["MENU_ICON"].ToString(); flowtype = dt.Rows[j]["FLOWTYPE"].ToString(); dt.Rows.RemoveAt(j); j--; if (a > 0) { returnstr += ","; } a++; returnstr += "{"; returnstr += "\"TITLE\":\"" + title + "\""; //returnstr += ",\"ICON\":\"layui-icon " + "layui-icon-rate-half" + "\""; returnstr += ",\"ICON\":\"iconfont " + icon + "\""; returnstr += ",\"SPREAD\":\"false\""; returnstr += ",\"HREF\":\"" + url + "\""; returnstr += ",\"ID\":\"" + id + "\""; returnstr += ",\"TYPE\":\"" + type + "\""; returnstr += ",\"STATE\":\"" + state + "\""; returnstr += ",\"LEVEL\":\"" + level + "\""; returnstr += ",\"ORDER\":\"" + order + "\""; returnstr += ",\"ACTION\":\"" + action + "\""; returnstr += ",\"FLOWTYPE\":\"" + flowtype + "\""; returnstr += ",\"BADGE\":" + 0 + ""; returnstr += ",\"CHILDREN\":["; idtwo = id; int b = 0; for (int k = 0; k < dt.Rows.Count; k++) { if (dt.Rows[k]["MENU_PARENT"].ToString() == idtwo) { id = dt.Rows[k]["ID"].ToString(); title = dt.Rows[k]["MENU_TITLE"].ToString(); url = dt.Rows[k]["MENU_URL"].ToString(); type = dt.Rows[k]["MENU_TYPE"].ToString(); level = dt.Rows[k]["MENU_LEVEL"].ToString(); state = dt.Rows[k]["MENU_FLAG"].ToString(); order = dt.Rows[k]["MENU_ORDER"].ToString(); action = dt.Rows[k]["MENU_ACTION"].ToString(); icon = dt.Rows[k]["MENU_ICON"].ToString(); flowtype = dt.Rows[k]["FLOWTYPE"].ToString(); dt.Rows.RemoveAt(k); k--; if (b > 0) { returnstr += ","; } b++; returnstr += "{"; returnstr += "\"TITLE\":\"" + title + "\""; //returnstr += ",\"ICON\":\"layui-icon " + "layui-icon-rate-half" + "\""; returnstr += ",\"ICON\":\"iconfont " + icon + "\""; returnstr += ",\"SPREAD\":\"false\""; returnstr += ",\"HREF\":\"" + url + "\""; returnstr += ",\"ID\":\"" + id + "\""; returnstr += ",\"TYPE\":\"" + type + "\""; returnstr += ",\"STATE\":\"" + state + "\""; returnstr += ",\"LEVEL\":\"" + level + "\""; returnstr += ",\"ORDER\":\"" + order + "\""; returnstr += ",\"ACTION\":\"" + action + "\""; returnstr += ",\"FLOWTYPE\":\"" + flowtype + "\""; returnstr += ",\"BADGE\":" + 0 + ""; returnstr += ",\"CHILDREN\":["; returnstr += "]"; returnstr += "}"; } } returnstr += "]"; returnstr += "}"; } } returnstr += "]"; returnstr += "}"; } } } } catch (Exception e) { string str = "根据用户获取菜单列表信息异常:" + e; FangYar.Common.MyLogHelper.WriteMsg(new FangYar.Common.LogInfoMo() { message = str, msgType = FangYar.Common.EnumLogMsgTypeEnum.Error, path = "LoginError" }); } returnstr += "]"; return returnstr; } /// /// 获取用户角色菜单详情 /// /// /// /// /// private DataTable getmenu(FangYar.Model.LoginUserModel user, string fid, string menuidFirst) { DataTable dt = new DataTable(); try { if (user != null) { string baseRoleId = ",''"; FangYar.BLL.FIRE.FIRE_ORG bll_org = new BLL.FIRE.FIRE_ORG(); var org = bll_org.GetModel(user.OrgID);//所在单位 if (org != null) { //0:支队;1:特勤站;2:大队;3:总队 switch (org.EXTENDCODE1) { case "0": baseRoleId = ",'d7f83a97208f4e049fe2e980095a7a65'"; break; case "1": baseRoleId = ",'03c85152f80a49f0ad3cfea202af00b4'"; break; case "2": baseRoleId = ",'5805857f2fae4daf9482996dbed726b7'"; break; case "3": baseRoleId = ",'ca8b271020d047db816cf6b18a6852ad'"; break; } } string sqlwhere = " find_in_set(id,cids) and id in(select menu_id from TBL_SYS_ROLEMENU t where role_id in ('" + user.roles.Replace(",", "','") + "'" + baseRoleId + ")) " + " and id not in (SELECT id from tbl_sys_menu WHERE id in(select menu_id from tbl_sys_rolemenu_not t where role_id in ('" + user.roles.Replace(",", "','") + "')) and MENU_LEVEL = 3 ) " + " order by MENU_TYPE ,menu_level,menu_order "; if (user.OrgID == "1" || user.UserCode == "iamasuperman") { sqlwhere = " 1=1 order by MENU_TYPE ,menu_level,menu_order "; } dt = new FangYar.BLL.CommomBLL().GetTableList("*", " tbl_sys_menu ,(select get_Menu_child_list('" + menuidFirst + "') cids) s ", sqlwhere); } else { } } catch (Exception e) { string str = "获取用户角色菜单详情异常:" + e; FangYar.Common.MyLogHelper.WriteMsg(new FangYar.Common.LogInfoMo() { message = str, msgType = FangYar.Common.EnumLogMsgTypeEnum.Error, path = "LoginError" }); } return dt; } //App登录发送短信验证码 private string SendVerification(HttpContext context) { try { string phone = context.Request.Params["phone"]; string templateCode = "SMS_234675567"; Random ran = new Random(); int code = ran.Next(1000, 9999); string param = "{\"code\":\"" + code + "\"}"; FYMQTT.RemindMessages ms = new FYMQTT.RemindMessages(); ms.AloneVerificationCodePush(phone, templateCode, param); return code + ""; } catch (Exception e) { string str = "App登录发送短信验证码异常:" + e; FangYar.Common.MyLogHelper.WriteMsg(new FangYar.Common.LogInfoMo() { message = str, msgType = FangYar.Common.EnumLogMsgTypeEnum.Error, path = "LoginError" }); } return ""; } //App登录修改Cid private string AppUpdateCid(HttpContext context) { try { string UserID = context.Request.Params["strUser"]; string AppId = context.Request.Params["AppId"].Trim(); bool isupcid = new BLL.TBL.SysEmpBLL().updateCid(UserID, AppId); return "\"isUpdateCid\":\"" + isupcid + "\""; } catch (Exception e) { string str = "App登录修改Cid异常:" + e; FangYar.Common.MyLogHelper.WriteMsg(new FangYar.Common.LogInfoMo() { message = str, msgType = FangYar.Common.EnumLogMsgTypeEnum.Error, path = "LoginError" }); } return ""; } //App登录修改OpenId private string AppUpdateOpenId(HttpContext context) { try { string UserID = context.Request.Params["strUser"]; string OpenId = context.Request.Params["OpenId"].Trim(); bool isupcid = new BLL.TBL.SysEmpBLL().updateOpenId(UserID, OpenId); return "\"isUpdateCid\":\"" + isupcid + "\""; } catch (Exception e) { string str = "App登录修改OpenId异常:" + e; FangYar.Common.MyLogHelper.WriteMsg(new FangYar.Common.LogInfoMo() { message = str, msgType = FangYar.Common.EnumLogMsgTypeEnum.Error, path = "LoginError" }); } return ""; } #endregion public bool IsReusable { get { return false; } } } }