Exemplo n.º 1
0
        /// <summary>
        /// 根据Key给Session续期
        /// </summary>
        /// <param name="key">sessionID</param>
        /// <returns></returns>
        public static bool PostponeKey()
        {
            var _sessionid = GetSessionID();

            if (!string.IsNullOrEmpty(_sessionid))
            {
                return(RedisSession.Postpone(GetSessionID()));
            }
            return(false);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Action方法执行之前执行此方法
        /// </summary>
        /// <param name="filterContext"></param>

        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (IsCheck)
            {
                //获取客户端
                var cookie = ExtractClient(filterContext, out var user);
                //验证用户真实性
                if (VerifyUser(filterContext, user))
                {
                    return;
                }
                //验证客户是否有权限访问当前URL
                if (VerifyPermission(filterContext, user))
                {
                    return;
                }
                //延长客户有效在线时间
                RedisSession.Postpone(cookie);
            }
        }