yl
2024-03-29 9c634fd767aec36ef97c3a814bf7a29c67d20ee1
VueWebApi/Tools/ChannelActionFilterAttribute.cs
@@ -24,11 +24,14 @@
        /// 请求接口之前渠道过滤
        /// </summary>
        /// <param name="actionContext"></param>
        public override void  OnActionExecuting(HttpActionContext actionContext)
        public override void OnActionExecuting(HttpActionContext actionContext)
        {
            try
            {
                var rediskey = HttpContext.Current.Request.Cookies["rediskey"].Value.ToString();
                var guid = HttpContext.Current.Request.Cookies["guid"].Value.ToString();
                //var rediskey = HttpContext.Current.Request.Headers["rediskey"].ToString();
                //var guid = HttpContext.Current.Request.Headers["guid"].ToString();
                base.OnActionExecuting(actionContext);
                //如果存在
                if (redis.Get<User>(rediskey, 0).userid.ToString() != "")
@@ -36,7 +39,7 @@
                    //获取redis中当前用户信息
                    User r_loginUser = redis.Get<User>(rediskey, 0);
                    //如果session中的用户guid和redis中的用户guid匹配
                    if (r_loginUser.rediskey.Equals(rediskey))
                    if (r_loginUser.guid.Equals(guid))
                    {
                        //重置过期时间
                        redis.KeyExpire(rediskey, redis.secondsTimeOut);
@@ -61,7 +64,7 @@
                mes.Message = "登录已超时,请重新登录!";
                actionContext.Response = new HttpResponseMessage { StatusCode = HttpStatusCode.OK, Content = new StringContent(JsonConvert.SerializeObject(mes), Encoding.GetEncoding("UTF-8"), "application/json") };
            }
        }
        }
    }
}