Exemplo n.º 1
0
        /// <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);
        }
Exemplo n.º 2
0
        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}" };
            }
        }
Exemplo n.º 3
0
 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}" };
     }
 }
Exemplo n.º 4
0
        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
                });
            }
        }
Exemplo n.º 5
0
        /// <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);
        }
Exemplo n.º 6
0
        /// <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);
            //}
        }
Exemplo n.º 7
0
        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
                });
            }
        }
Exemplo n.º 8
0
        /// <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);
        }