软测单独项目
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1123 lines
58 KiB

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
{
/// <summary>
/// LoginHandler 的摘要说明
/// </summary>
public class LoginHandler : IHttpHandler, IRequiresSessionState
{
string app = System.Configuration.ConfigurationManager.AppSettings["APP"];
/// <summary>
/// 是否添加Cook域缓存设置
/// </summary>
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 通用
/// <summary>
/// 根据用户获取菜单列表
/// </summary>
/// <param name="user"></param>
/// <param name="flag">0:APP;1:小程序</param>
/// <returns></returns>
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;
}
/// <summary>
/// 获取用户角色菜单详情
/// </summary>
/// <param name="user"></param>
/// <param name="fid"></param>
/// <param name="menuidFirst"></param>
/// <returns></returns>
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;
}
}
}
}