/// <summary> /// /// </summary> /// <param name="configPath"></param> public static void Configure(string configPath, string basePath) { if (!string.IsNullOrEmpty(basePath)) { configPath = Path.Combine(basePath, configPath); } else { configPath = Path.Combine(AppContext.BaseDirectory, configPath); } FileInfo file = new FileInfo(configPath); if (file.Exists) { ILoggerRepository repository = LogManager.CreateRepository("NETCoreRepository"); log4net.Config.XmlConfigurator.ConfigureAndWatch(repository, file); SysLog = LogManager.GetLogger(repository.Name, "SystemLogger"); ExceptionLog = LogManager.GetLogger(repository.Name, "ExceptionLogger"); WaLiuBasicServiceLog = LogManager.GetLogger(repository.Name, "WaLiuBasicServiceLogger"); ApiMonitorLog = LogManager.GetLogger(repository.Name, "ApiMonitorLogger"); SysLog.Info($"初始化{configPath}完成。"); } else { throw new Exception($"未找到{file.FullName}文件"); } }
/// <summary> /// /// </summary> /// <param name="configPath"></param> public static void Configure(string configPath) { FileInfo file = new FileInfo(configPath); ILoggerRepository repository = LogManager.CreateRepository("NETCoreRepository"); log4net.Config.XmlConfigurator.ConfigureAndWatch(repository, file); SysLog = LogManager.GetLogger(repository.Name, "SystemLogger"); ExceptionLog = LogManager.GetLogger(repository.Name, "ExceptionLogger"); WaLiuBasicServiceLog = LogManager.GetLogger(repository.Name, "WaLiuBasicServiceLogger"); ApiMonitorLog = LogManager.GetLogger(repository.Name, "ApiMonitorLogger"); SysLog.Info($"初始化{configPath}完成。"); }
public IActionResult Info([FromBody] JObject value) { Dictionary <string, object> d = value.ToObject <Dictionary <string, object> >(); Dictionary <string, object> r = new Dictionary <string, object>(); try { string tokenUserId = UIDP.UTILITY.AccessTokenTool.GetUserId(d["token"].ToString()); string userID = tokenUserId; //string _loginType = ""; //if (d["loginType"].ToString()==null|| d["loginType"].ToString() == "") //{ // _loginType = loginType; //} //else //{ // loginType = d["loginType"].ToString(); //} if (d.Keys.Contains("userId") && d["userId"] != null && d["userId"].ToString() != "") { userID = d["userId"].ToString(); } if (userID == mm.getAdminCode()) { //if (tokenUserId == mm.getAdminCode()&&(d["userId"]==null|| d["userId"].ToString()=="")){ SysLog log = new SysLog(); log.Info(DateTime.Now, tokenUserId, "系统超级管理员", ClientIp, 0, "info", "", 1); return(Json(new { code = 2000, message = "", roles = JsonConvert.DeserializeObject("['admin']"), name = "系统超级管理员", userCode = tokenUserId, token = d["token"].ToString(), introduction = "", avatar = "", sysCode = "1", sysName = mm.getSysName(), userId = tokenUserId, userSex = 0, departCode = "", departName = "", userType = "0", //loginType= loginType })); } //string token = UIDP.UTILITY.AccessTokenTool.GetAccessToken(d["userId"].ToString()); string token = UIDP.UTILITY.AccessTokenTool.GetAccessToken(userID); //DataTable dt = mm.GetUserAndOrgByUserId(d["userId"].ToString()); DataTable dt = mm.GetUserAndOrgByUserId(userID); //DataTable du = mm.getSysTime(); if (dt != null && dt.Rows.Count > 0) { string _name = dt.Rows[0]["USER_NAME"] == null ? "" : dt.Rows[0]["USER_NAME"].ToString(); string _userCode = dt.Rows[0]["USER_DOMAIN"] == null ? "" : dt.Rows[0]["USER_DOMAIN"].ToString(); string _userId = dt.Rows[0]["USER_ID"] == null ? "" : dt.Rows[0]["USER_ID"].ToString(); int _userSex = Convert.ToInt32(dt.Rows[0]["USER_SEX"].ToString()); string _deptCode = dt.Rows[0]["ORG_CODE"] == null ? "" : dt.Rows[0]["ORG_CODE"].ToString(); string _deptName = dt.Rows[0]["ORG_SHORT_NAME"] == null ? "" : dt.Rows[0]["ORG_SHORT_NAME"].ToString(); string _userType = dt.Rows[0]["USER_TYPE"] == null ? "" : dt.Rows[0]["USER_TYPE"].ToString(); string _orgCode = dt.Rows[0]["ORG_CODE"] == null ? "" : dt.Rows[0]["ORG_CODE"].ToString(); //string _sysTime = du.Rows[0]["SysOperateDate"] == null ? "" : du.Rows[0]["SysOperateDate"].ToString(); string _orgName = dt.Rows[0]["ORG_NAME"] == null ? "" : dt.Rows[0]["ORG_NAME"].ToString(); SysLog log = new SysLog(); //log.Info(DateTime.Now, d["userId"].ToString(), _name, ClientIp, 0, "info", "",1); log.Info(DateTime.Now, userID, _name, ClientIp, 0, "info", "", 1); return(Json(new { code = 2000, message = "", roles = new Dictionary <string, object>(), token = token, introduction = "", avatar = "", name = _name, userCode = _userCode, sysCode = "1", sysName = mm.getSysName(), userId = _userId, userSex = _userSex, departCode = _deptCode, departName = _deptName, userType = _userType, orgCode = _orgCode, orgName = _orgName, //sysTime =_sysTime, // loginType = loginType })); } return(Json(new { code = 2000, message = "", roles = "", name = "", userCode = "", token = token, introduction = "", avatar = "", sysCode = "1", sysName = mm.getSysName(), userId = "", userSex = 0, departCode = "", departName = "", userType = "0", orgCode = "", orgName = "", //sysTime = "", // loginType = loginType })); } catch (Exception ex) { r["code"] = -1; r["message"] = ex.Message; } return(Json(r)); }
public IActionResult loginByUsernames([FromBody] JObject value) { string userId = ""; string userName = ""; try { Dictionary <string, object> d = value.ToObject <Dictionary <string, object> >(); string username = d["username"] == null ? "" : d["username"].ToString(); string password = d["password"] == null ? "" : d["password"].ToString(); if (string.IsNullOrEmpty(username) || string.IsNullOrEmpty(password)) { return(Json(new { code = -1, message = "用户名或密码不能为空!" })); } UserModule mm = new UserModule(); userId = mm.getAdminCode(); string pass = mm.getAdminPass(); if ((username == userId)) { if (password != pass) { return(Json(new { code = -1, message = "管理员密码不正确!" })); } userName = "******"; string accessToken = AccessTokenTool.GetAccessToken(userId); UIDP.UTILITY.AccessTokenTool.DeleteToken(userId); UIDP.UTILITY.AccessTokenTool.InsertToken(userId, accessToken, DateTime.Now.AddHours(1)); log.Info(DateTime.Now, userId, userName, Extension.GetClientUserIp(Request.HttpContext), 2, "LogIn", "", 1); return(Json(new { code = 2000, message = "", token = accessToken, orgList = new DataTable(), userList = new DataTable(), roleLevel = "admin" })); } else { UserLoginModule um = new UserLoginModule(); if (d["userDomain"].ToString() == "PTR_IDENT") { var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json"); Configuration = builder.Build(); string LDAPPATH = Configuration["LdapPath"]; DirectoryEntry entry = new DirectoryEntry(LDAPPATH, username, password); DirectorySearcher mySearcher = new DirectorySearcher(entry); mySearcher.Filter = "(SAMAccountName=" + username + ")"; SearchResult result = mySearcher.FindOne(); if (result == null) { throw new Exception("用户认证错误"); } else { DataTable userdt = um.getUserInfoByName(username); if (userdt == null || userdt.Rows.Count == 0) { return(Json(new { code = -1, message = "本地用户不存在,请同步用户信息!" })); } Dictionary <string, object> dinfo = new Dictionary <string, object>(); if (password != userdt.Rows[0]["USER_PASS"].ToString()) { //dinfo["password"] = userdt.Rows[0]["USER_PASS"].ToString(); dinfo["newpassword"] = password; dinfo["userid"] = userdt.Rows[0]["USER_ID"].ToString(); mm.updatePTRpass(dinfo); } } } DataTable dt = um.getUserInfoByName(username); if (dt == null || dt.Rows.Count == 0) { return(Json(new { code = -1, message = "此用户不存在!" })); } password = UIDP.Security.SecurityHelper.StringToMD5Hash(password); if (password != dt.Rows[0]["USER_PASS"].ToString()) { return(Json(new { code = -1, message = "密码错误!" })); } userId = dt.Rows[0]["USER_ID"].ToString(); //userName = dt.Rows[0]["LOGIN_REMARK"].ToString(); string accessToken = AccessTokenTool.GetAccessToken(userId); UIDP.UTILITY.AccessTokenTool.DeleteToken(userId); UIDP.UTILITY.AccessTokenTool.InsertToken(userId, accessToken, DateTime.Now.AddHours(1)); DataTable dtUser = um.getLoginByID(userId); int level = 1; if (Extension.GetClientUserIp(Request.HttpContext).ToString() != dt.Rows[0]["USER_IP"].ToString()) { level = 2; } log.Info(DateTime.Now, userId, userName, Extension.GetClientUserIp(Request.HttpContext), 2, "LogIn", "", level); return(Json(new { code = 2000, message = "", token = accessToken, orgList = new DataTable(), userList = JsonConvert.DeserializeObject(JsonConvert.SerializeObject(dtUser)), roleLevel = "" })); } } catch (Exception ex) { log.Info(DateTime.Now, userId, userName, Extension.GetClientUserIp(Request.HttpContext), 1, "LogIn", ex.Message.Length > 120 ? ex.Message.Substring(0, 100) : ex.Message, 1); return(Json(new { code = -1, message = "登录时程序发生错误" + ex.Message })); } }
public override void OnActionExecuting(ActionExecutingContext context) { try { Microsoft.Extensions.Primitives.StringValues AccessToken;//获取header中某一项的值 context.HttpContext.Request.Headers.TryGetValue("X-Token", out AccessToken); ClientIp = Extension.GetClientUserIp(Request.HttpContext); actionName = (context.RouteData.Values["action"]).ToString().ToLower();//获取当前方法 if (actionName == "loginconfig" || actionName == "getcolor") { base.OnActionExecuting(context); return; } //根据实际需求进行具体实现 accessToken = AccessToken; if (accessToken == "") { context.Result = new ObjectResult(new { code = 50008, msg = "没有找到X-Token" }); } string userId = UIDP.UTILITY.AccessTokenTool.GetUserId(AccessToken); UserId = userId; if (actionName == "info") { UIDP.UTILITY.Message mes = UIDP.UTILITY.AccessTokenTool.IsInValidUser(userId, AccessToken, "user"); if (mes.code != 2000) { context.Result = new ObjectResult(mes); } } else { UserModule mm = new UserModule(); string admin = mm.getAdminCode(); string cloudadmin = mm.getCloudCode(); if (userId == admin) { UserName = "******"; } else if (userId == cloudadmin) { UserName = "******"; } else { admin = ""; UserName = mm.getUserInfoByUserId(userId).USER_NAME; } UIDP.UTILITY.Message mes = UIDP.UTILITY.AccessTokenTool.IsInValidUser(userId, AccessToken, admin); if (mes.code != 2000) { context.Result = new ObjectResult(mes); } } SysLog log = new SysLog(); log.Info(DateTime.Now, userId, UserName, ClientIp, 0, actionName, "", 1); } catch (Exception ex) { SysLog log = new SysLog(); log.Info(DateTime.Now, UserId, UserName, ClientIp, 1, actionName, ex.Message.Length > 120 ? ex.Message.Substring(0, 100) : ex.Message, 1); context.Result = new ObjectResult(new { code = -1, msg = "验证token时程序出错", result = ex.Message }); } #region 备份原来的逻辑 /* * public override void OnActionExecuting(ActionExecutingContext context) * { * try * { * Microsoft.Extensions.Primitives.StringValues AccessToken;//获取header中某一项的值 * context.HttpContext.Request.Headers.TryGetValue("X-Token", out AccessToken); * * actionName = (context.RouteData.Values["action"]).ToString().ToLower();//获取当前方法 * //根据实际需求进行具体实现 * accessToken = AccessToken; * if (accessToken == "") * { * context.Result = new ObjectResult(new { code = 50008, msg = "没有找到X-Token" }); * } * string userId = UIDP.UTILITY.AccessTokenTool.GetUserId(AccessToken); * BIZModule.UserModule mm = new BIZModule.UserModule(); * string admin = mm.getAdminCode(); * if (userId == admin) * { * UserName = "******"; * } * else * { * UserName = mm.getUserInfoByUserId(userId).USER_NAME; * } * UIDP.UTILITY.Message mes = UIDP.UTILITY.AccessTokenTool.IsInValidUser(userId, AccessToken,admin); * if (mes.code != 2000) * { * context.Result = new ObjectResult(mes); * } * UserId = userId; * ClientIp = Extension.GetClientUserIp(Request.HttpContext); * UIDP.LOG.SysLog log = new LOG.SysLog(); * log.Info(DateTime.Now, userId, UserName, ClientIp, 0, actionName, ""); * } * catch (Exception ex) * { * UIDP.LOG.SysLog log = new LOG.SysLog(); * log.Info(DateTime.Now, UserId, UserName, ClientIp, 1, actionName, ex.Message.Length > 120 ? ex.Message.Substring(0, 100) : ex.Message); * context.Result = new ObjectResult(new { code = -1, msg = "验证token时程序出错", result = ex.Message }); * } * * } */ #endregion }