public override void OnException(ExceptionContext context) { var controller = context.RouteData.Values["controller"].ToString(); var area = ""; if (context.RouteData.Values.Keys.Contains("area")) { area = context.RouteData.Values["area"].ToString(); } var logger = CoreContextProvider.GetLogger(controller); logger.LogError(context.Exception, context.Exception.Message); base.OnException(context); if (!CoreContextProvider.HostingEnvironment.IsDevelopment()) { context.ExceptionHandled = true; context.HttpContext.Response.StatusCode = 200; if (context.HttpContext.Request.IsAjax()) { context.Result = new ContentResult { Content = new AjaxResult { state = ResultType.error.ToString(), message = context.Exception.Message }.ToJson() }; } else { context.Result = new RedirectToActionResult("ErrorPage", controller, new { area, Message = "您的请求发生异常,请确认输入正确重试!" }); } } }
public ArticleTopicService(ISysLogRespository sysLogRespository, IArticleTopicRespository ArticleTopicRespository , IArticleRespository articleRespository) { _LogRespository = sysLogRespository; _Respository = ArticleTopicRespository; _ArticleRespository = articleRespository; _logger = CoreContextProvider.GetLogger("IArticleTopicService"); }
public MemberScoreService(ISysLogRespository sysLogRespository, IMemberScoreRespository respository , IMemberRespository memRespository, ISysItemsDetailService sysItemsDetailService) { _LogRespository = sysLogRespository; _MemRespository = memRespository; _Respository = respository; _SysItemsDetailService = sysItemsDetailService; _Logger = CoreContextProvider.GetLogger("IMemberScoreService"); }
public ArticleService(ISysLogRespository sysLogRespository, IArticleRespository respository, IArticleCategoryRespository articleCategoryRespository, IMemberRespository memberService, IArticleCategoryService articleCategoryService ) { _LogRespository = sysLogRespository; _Respository = respository; _ArticleCategoryRespository = articleCategoryRespository; _IMemberRespository = memberService; _IArticleCategoryService = articleCategoryService; _logger = CoreContextProvider.GetLogger("ArticleService"); }
public override void OnException(ExceptionContext context) { var logger = CoreContextProvider.GetLogger(context.RouteData.Values["controller"].ToString()); logger.LogError(context.Exception.Message); base.OnException(context); if (!CoreContextProvider.HostingEnvironment.IsDevelopment()) { context.ExceptionHandled = true; context.HttpContext.Response.StatusCode = 200; context.Result = new ContentResult { Content = new AjaxResult { state = ResultType.error.ToString(), message = context.Exception.Message }.ToJson() }; } }
public override void OnActionExecuting(ActionExecutingContext context) { _Logger = CoreContextProvider.GetLogger(this.ControllerContext.ActionDescriptor.ControllerTypeInfo.Name); base.OnActionExecuting(context); }
public async Task <IActionResult> CheckLogin(string username, string password, string code) { if (CoreContextProvider.CurrentSysUser != null) {//若有用户信息 则清除 await HttpContext.SignOutAsync(ConstParameters.SysManageAuthScheme); } SysLog logEntity = new SysLog(); logEntity.ModuleName = "系统登录"; logEntity.Type = DbLogType.Login.ToString(); try { if (HttpContext.GetSession(ConstParameters.VerifyCodeKeyName).IsEmpty() || Md5Hash.Md5(code.ToLower(), 16) != HttpContext.GetSession(ConstParameters.VerifyCodeKeyName).ToString()) { throw new Exception("验证码错误,请重新输入"); } var userEntity = _SysUserService.CheckLogin(username, password); if (userEntity != null) { //登录已重写 var identity = new ClaimsIdentity(ConstParameters.SysManageAuthScheme); // 指定身份认证类型 List <Claim> claims = new List <Claim>() { new Claim(ClaimTypes.Sid, userEntity.Id), // 用户Id new Claim(ClaimTypes.Name, userEntity.Account), // 用户账号 new Claim(ClaimTypes.GivenName, userEntity.RealName), new Claim(ClaimTypes.PrimarySid, userEntity.OrganizeId), new Claim(ClaimTypes.PrimaryGroupSid, userEntity.DepartmentId), new Claim(ClaimTypes.Role, userEntity.RoleId ?? ""), new Claim(ClaimTypes.Dns, HttpContext.GetIP() ?? "") }; var isSystem = false; if (userEntity.Account == "admin") { isSystem = true; } identity.AddClaims(claims); identity.AddClaim(new Claim(ClaimTypes.IsPersistent, isSystem.ToString())); var principal = new ClaimsPrincipal(identity); //过期时间20分钟 //var authProperty = new AuthenticationProperties { IsPersistent = true, ExpiresUtc = DateTime.UtcNow.AddMinutes(20) }; await HttpContext.SignInAsync(ConstParameters.SysManageAuthScheme, principal); logEntity.Account = userEntity.Account; logEntity.NickName = userEntity.RealName; logEntity.Result = true; logEntity.Description = "登录成功"; _ISysLogService.WriteSysLog(logEntity); } return(Content(new AjaxResult { state = ResultType.success.ToString(), message = "登录成功。" }.ToJson())); } catch (Exception ex) { logEntity.Account = username; logEntity.NickName = username; logEntity.Result = false; logEntity.Description = "登录失败," + ex.Message; _ISysLogService.WriteSysLog(logEntity); CoreContextProvider.GetLogger("LoginController").LogError(ex, logEntity.ToJson()); return(Content(new AjaxResult { state = ResultType.error.ToString(), message = ex.Message }.ToJson())); } }
SocketHandler(WebSocket socket) { logger = CoreContextProvider.GetLogger("SocketHandler"); this.socket = socket; }