/// <summary> /// 根据token获取登录者 /// </summary> /// <param name="token"></param> /// <returns></returns> public static SysLoginUser GetSysLoginUserByToken(string token) { SysLoginUser ret = new SysLoginUser() { IsSucceed = false }; if (string.IsNullOrEmpty(token)) { return(null); } var tokenmodel = new LogintokenRepository(token).GetEntity <Logintoken>(new Dictionary <string, object>() { { nameof(Logintoken.Token), token } }); if (tokenmodel != null && !string.IsNullOrEmpty(tokenmodel.LoginUserId) && tokenmodel.LoginUserType == 1) { var emp = EmployeeLogic.GetModelByKID(tokenmodel.LoginUserId.Toint()); ret.UserAuthorMenu = Comlogic.GetMenulistByUserid(emp.KID); ret.Model = emp; ret.IsSucceed = true; ret.TokenExpiration = tokenmodel.TokenExpiration; ret.Token = tokenmodel.Token; } else if (tokenmodel != null && !string.IsNullOrEmpty(tokenmodel.LoginUserId) && tokenmodel.LoginUserType == 2) { var mem = MemberLogic.GetModelByKID(tokenmodel.LoginUserId.Toint()); ret.Token = token; ret.MemberModel = mem; ret.TokenExpiration = tokenmodel.TokenExpiration; ret.IsSucceed = true; } return(ret); }
public JsonResponse UpdateItemMenu([FromBody]JsonRequest model) { try { UpdateView ret = model.Data.ToString().DeserializeObject<UpdateView>(); if (ret.KID <= 0) { return FastJson("", model.Token, 1, "kid不能为空"); } SysLoginUser user = UserInfoUtil.UserInfo(model.Token); var data = BlogHelper.Update_Sysmenu(ret.Update, ret.KID, new OpertionUser() { UserId = user?.Model?.KID.ToString(), UserName = user?.Model?.UserName, UserClientIp = GetIP(), }); return FastJson(data, model.Token, data.IsSucceed ? 0 : 1, data.Message); } catch (Exception ex) { LogHelper.WriteLog(ex, "/Menu/DelItemMenuByKid"); return new JsonResponse() { Code = 1, Msg = $"请求失败:{ex.Message}" }; } }
public JsonResponse AddItemMenu([FromBody]JsonRequest model) { try { SysLoginUser user = UserInfoUtil.UserInfo(model.Token); Sysmenu item = model.Data.ToString().DeserializeObject<Sysmenu>(); item.CreateTime = DateTime.Now; item.UpdateTime = DateTime.Now; item.CreateUserId = user?.Model?.KID.ToString(); item.CreateUserName = user?.Model?.UserName; item.UpdateUserId = item.CreateUserId; item.UpdateUserName = item.CreateUserName; var data = BlogHelper.AddByEntity_Sysmenu(item, new OpertionUser() { UserId = user?.Model?.KID.ToString(), UserName = user?.Model?.UserName, UserClientIp = GetIP(), }); return FastJson(data, model.Token, data.IsSucceed ? 0 : 1, data.Message); } catch (Exception ex) { LogHelper.WriteLog(ex, "/Menu/DelItemMenuByKid"); return new JsonResponse() { Code = 1, Msg = $"请求失败:{ex.Message}" }; } }
public JsonResponse UpdateItem([FromBody] JsonRequest model) { try { UpdateView view = model.Data.DeserialObject <UpdateView>(); if (view == null || view.KID <= 0 || view.Update == null) { return(new JsonResponse { Code = 1, Msg = "参数不合法" }); } SysLoginUser user = UserInfoUtil.UserInfo(model.Token); if (!user.IsAdmin) { return(new JsonResponse { Code = 1, Msg = "暂无操作权限" }); } OpertionUser opt = new OpertionUser(); view.Update = AddBaseInfo <Category>(view.Update, model.Token, false, ref opt); Result res = BlogHelper.Update_Category(view.Update, view.KID, opt); return(FastJson(res, model.Token, res.IsSucceed ? 0 : 1, res.IsSucceed ? "操作成功" : "操作失败")); } catch (Exception ex) { LogHelper.WriteLog(ex, "CategoryController/UpdateItem"); return(new JsonResponse { Code = 1, Msg = "程序错误" + ex.Message }); } }
/// <summary> /// 获取管理员用户信息 /// </summary> /// <param name="token">The token.</param> /// <returns>System.String.</returns> public static SysLoginUser UserInfo(string token) { var ipAddress = HttpContext.Current?.Request?.UserHostAddress; var agent = HttpContext.Current?.Request?.UserAgent; var dns = HttpContext.Current?.Request?.UserHostName; SysLoginUser logonUser = BlogHelper.GetUserInfoByToken(token, ipAddress, agent, dns); return(logonUser); }
/// <summary> /// 获取Token /// </summary> /// <param name="token">Token值</param> /// <param name="ipAddress">IP地址</param> /// <param name="agent">浏览器标识</param> /// <param name="dns">dns标识</param> /// <returns>Fd_Sys_LoginUser.</returns> public static SysLoginUser GetUserInfoByToken(string token, string ipAddress, string agent, string dns) { var ret = new SysLoginUser(); //if (TokenHelper.CheckToken(token, ipAddress, agent, dns) == false) //{ // return new SysLoginUser() { IsSucceed = false, Message = "Token不合法" }; //} //else //{ var tokenmodel = LogintokenLogic.GetModelByToken(token); if (tokenmodel != null && tokenmodel.LoginUserId.Length > 0) { if (DateTime.TryParse(tokenmodel.TokenExpiration, out DateTime extime)) { if (extime < DateTime.Now) { ret.Message = "Token已过期"; return(ret); } } var user = EmployeeLogic.GetModelByKID(Convert.ToInt32(tokenmodel.LoginUserId)); if (user == null) { ret.Message = "用户已被删除"; } else { ret.IsSucceed = true; ret.Model = user; ret.Token = token; ret.TokenExpiration = extime.ToString("yyyy-MM-dd hh:MM:ss"); ret.UserAuthorMenu = SysmenuLogic.GetMenuByUserID(user.KID); ret.Message = "认证成功"; ret.IsAdmin = user.IsAdmin > 0; } } else { ret.Message = "Token不存在"; } return(ret); //} }
public JsonResponse Login([FromBody] LoginModel model) { SysLoginUser user = new SysLoginUser { IsSucceed = false }; try { if (string.IsNullOrEmpty(model.Account) || string.IsNullOrEmpty(model.Password) || string.IsNullOrEmpty(model.Code) || string.IsNullOrEmpty(model.CodeKey)) { return(new JsonResponse { Code = 1, Msg = "参数不完整" }); } var code = CacheHelper.GetCacheItemAndDel(model.CodeKey)?.ToString(); if (string.IsNullOrEmpty(code) || code != model.Code) { return(new JsonResponse { Code = 1, Msg = "验证码错误" }); } user = BlogHelper.EmployeePasswordLogin(model.Account, model.Password, UtilConst.GetIP(), UtilConst.Agent, UtilConst.Dns); if (!CJJ.Blog.Apiv2.Models.ConfigUtil.Isdebug) { user.DataIsEncrypt = true; } return(new JsonResponse { Code = user.IsSucceed ? 0 : 1, Data = user }); } catch (Exception ex) { LogHelper.WriteLog(ex, "LoginController/Login错误"); return(new JsonResponse { Code = 1, Msg = "系统错误" + ex.Message }); } }
/// <summary> /// 密码登录 /// </summary> /// <param name="useraccount"></param> /// <param name="userpsw"></param> /// <param name="ipaddress"></param> /// <param name="agent"></param> /// <param name="dns"></param> /// <returns></returns> public static SysLoginUser EmployeePasswordLogin(string useraccount, string userpsw, string ipaddress, string agent, string dns) { SysLoginUser res = new SysLoginUser() { IsSucceed = false }; try { var psw = userpsw.ToUpper(); var emp = EmployeeLogic.GetModelByWhere(new Dictionary <string, object>() { { nameof(Employee.UserAcount), useraccount }, { nameof(Employee.IsDeleted), 0 }, { nameof(Employee.States), 0 } }); if (emp.UserPassword.ToUpper() != psw) { return(res); } #region 获取menu操作列表 res.UserAuthorMenu = Comlogic.GetMenulistByUserid(emp.KID); // res.UserAuthorMenu = new UserAuthorMenu() { IsSucceed = true }; #endregion var logintype = "1"; //总共64位,4+22+5+1+32 var token = $"{DateTime.Now.ToString("yyMM")}{Guid.NewGuid().ToString("N").Substring(0, 22)}{emp.KID.ToString().PadLeft(5, '0')}{logintype}{Guid.NewGuid().ToString("N")}"; var tokenexpir = DateTime.Now.AddDays(ConfigUnit.ExpirationTimeOut).ToString(); res.TokenExpiration = tokenexpir; var tokenres = LogintokenLogic.Add(new Logintoken { Token = token, TokenExpiration = tokenexpir, CreateTime = DateTime.Now, LoginUserId = emp.KID.ToString(), LoginUserType = 1, LoginUserAccount = emp.UserAcount, LoginResult = "登录成功", IpAddr = ipaddress, IsLogOut = 0 }, new OpertionUser() { UserId = emp?.KID.ToString() }); res.IsSucceed = res.UserAuthorMenu.IsSucceed; res.Message = res.UserAuthorMenu.IsSucceed ? "登录成功菜单获取成功" : res.UserAuthorMenu.Message; if (res.UserAuthorMenu.IsSucceed) { res.Token = token; res.Model = emp; res.TokenExpiration = tokenexpir; } } catch (Exception ex) { LogHelper.WriteLog(ex, "登录出错", LogLevel.D错误事件); res.IsSucceed = false; } return(res); }