public WebSYSAccountManager(IServiceProvider _serviceProvider, IHttpContextAccessor _httpContextAccessor, VerifyCode _verifyCode, SysLoginInfo sysLogin ) : base(_serviceProvider) { Session = _httpContextAccessor.HttpContext.Session; HttpContextAccessor = _httpContextAccessor; this.verifyCode = _verifyCode; SysLogin = sysLogin; }
public WebEntranceController( WebSYSAccountManager _accountManager, SysLoginInfo _sysLoginInfo, IHttpContextAccessor _httpContextAccessor, VerifyCode _verifyCode ) { verifyCode = _verifyCode; accountManager = _accountManager; sysLoginInfo = _sysLoginInfo; httpContextAccessor = _httpContextAccessor; }
public ActionResult Logout() { var user = SysLoginInfo.CurAccount(); if (user != null) { accountManager.ClearToken(user.ManagerId); } SysLoginInfo.ClearSession(); AuthenticationHelper.SignOut(ALLKeys.C_ADMINUSER); return(RedirectToAction("Login")); }
public ActionResult Login() { if (SysLoginInfo.CurAccount() != null) { return(RedirectToAction("Index", "WebHome")); } else { SysLoginInfo.ClearSession(); AuthenticationHelper.SignOut(ALLKeys.C_ADMINUSER); } return(View("~/WebManager/Views/WebEntrance/Login.cshtml")); }
public override void OnActionExecuted(ActionExecutedContext filterContext) { try { //操作类型(0新增 1修改 2删除 3登录) WebSysLog log = new WebSysLog(); var info = SysLoginInfo.CurAccount(); if (info != null) { log.ManagerGuid = info.ManagerId.ToString(); log.ManagerAccount = info.ManagerName; } log.LogIp = GetIP(); log.LogType = _type; log.LogTime = DateTime.Now;//操作时间 log.LogName = _LogTypeName; string control = filterContext.Controller.ValueProvider.GetValue("controller").AttemptedValue; string action = filterContext.Controller.ValueProvider.GetValue("action").AttemptedValue; //参数说明 StringBuilder ParamContent = new StringBuilder(); if (_parameterNameList != "") {//根据条件得到参数 ParamContent.Append(GetWhereParam(filterContext.Controller.ValueProvider)); } else {//获取提交的所有参数 ParamContent.Append(GetAllParam(filterContext.Controller.ValueProvider)); } log.MapMethod = control + "/" + action; //操作方法 log.LogContent = ParamContent.ToString(); //参数说明 //根据数据表设计,进行字符串的裁剪 log.LogContent = log.LogContent.Length > 4000 ? log.LogContent.Substring(0, 4000) : log.LogContent; log.MapMethod = log.MapMethod.Length > 100 ? log.MapMethod.Substring(0, 100) : log.MapMethod; web_managerEntities db = new web_managerEntities(Encrypt.StringDecodeOne(DBConfigure.ConnStr)); db.WebSysLog.Add(log); db.SaveChanges(); } catch (Exception ex) { //LogHelper.WriteLog("写操作日志错误", ex); } }
public AjaxResult DoLogin(string LoginName, string Password, string VerCode) { if (string.IsNullOrEmpty(LoginName)) { return(new AjaxResult("请输入登录账号")); } if (string.IsNullOrEmpty(Password)) { return(new AjaxResult("请输入登录密码")); } if (string.IsNullOrEmpty(VerCode)) { return(new AjaxResult("请输入登录验证码")); } //检查验证码 if (!VerifyCode.CheckVerifyCode(VerCode)) { return(new AjaxResult("验证码错误")); } var sysUser = GetAccountByName(LoginName); if (sysUser == null) { return(new AjaxResult("登录账号无效")); } if (sysUser.ManagerPwd != Encrypt.MD5Encrypt(Password + sysUser.ManagerScal)) { return(new AjaxResult("登陆密码错误")); } DateTime dtNow = DateTime.Now; sysUser.LastLoginTime = dtNow; sysUser.CurToken = Encrypt.MD5Encrypt(Guid.NewGuid().ToString()); db.SaveChanges(); sysUser.ManagerPwd = ""; sysUser.ManagerScal = ""; var cookieInfo = new AdminCookieInfo() { ManagerAccount = sysUser.ManagerName, LastLoginTime = dtNow, LoginToken = sysUser.CurToken, ManagerId = sysUser.ManagerId, }; SysManager manager = new SysManager() { IsSupper = sysUser.IsSupper, ManagerId = sysUser.ManagerId, ManagerName = sysUser.ManagerName, ManagerRealname = sysUser.ManagerRealname }; SysLoginInfo.SetCurAccount(manager); #region 权限页面内容写入 List <WebSysMenuPage> autoPages = GetAuthPages(manager); List <SysMenuPage> pages = autoPages.Select(s => new SysMenuPage() { MenuId = s.MenuId, PageBtnname = s.PageBtnname, PageId = s.PageId, PageName = s.PageName, PageUrl = s.PageUrl, PageViewname = s.PageViewname }).ToList(); SysLoginInfo.SetCurMenuPages(pages); #endregion AuthenticationHelper.SignIn(ALLKeys.C_ADMINUSER, sysUser.ManagerName, Newtonsoft.Json.JsonConvert.SerializeObject(cookieInfo), 60 * 8); return(new AjaxResult(sysUser)); }