Пример #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);
        }
Пример #2
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);
            //}
        }