yl
2022-11-21 b166c0f80252ab4e1af4136789cb976364b779b2
VueWebApi/Tools/ChannelActionFilterAttribute.cs
@@ -1,6 +1,7 @@
using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Net;
using System.Net.Http;
@@ -20,6 +21,7 @@
    {
        ToMessage mes = new ToMessage();
        RedisHelper redis = new RedisHelper();
        /// <summary>
        /// 请求接口之前渠道过滤
        /// </summary>
@@ -28,19 +30,19 @@
        {
            try
            {
                var User = HttpContext.Current.Session["User"].ToString();
                User loginUser = JsonConvert.DeserializeObject<User>(User);
                var rediskey = HttpContext.Current.Request.Cookies["rediskey"].Value.ToString();
                var guid = HttpContext.Current.Request.Cookies["guid"].Value.ToString();
                base.OnActionExecuting(actionContext);
                //如果存在
                if (redis.Get<User>("LoginUserIDPC" + loginUser.userid, 0).userid.ToString() != "")
                if (redis.Get<User>(rediskey, 0).userid.ToString() != "")
                {
                    //获取redis中当前用户信息
                    User r_loginUser = redis.Get<User>("LoginUserIDPC" + loginUser.userid, 0);
                    User r_loginUser = redis.Get<User>(rediskey, 0);
                    //如果session中的用户guid和redis中的用户guid匹配
                    if (r_loginUser.guid.Equals(loginUser.guid))
                    if (r_loginUser.guid.Equals(guid))
                    {
                        //重置过期时间
                        redis.Set<User>("LoginUserIDPC" + loginUser.userid, loginUser, redis.secondsTimeOut, 0);
                        redis.KeyExpire(rediskey, redis.secondsTimeOut);
                    }
                    else
                    {