Example #1
0
        public static void Generate(X509Certificate2 cert)
        {
            Console.WriteLine($"----------JWT BELOW-----------");

            var userData = new UserCacheData()
            {
                AccessKey   = Guid.NewGuid().ToString(),
                FirmId      = DateTime.Now.Millisecond,
                UserId      = DateTime.Now.Millisecond + 19,
                FavoritePet = DateTime.Now.Millisecond % 2 == 0 ? "Cat" : "Hamster",
            };

            userData.UserAttributes["Attribute1"] = "CatName";
            userData.UserAttributes["Attribute2"] = "DocName";
            userData.UserAttributes["Attribute3"] = "IceCreamFlavor";

            var jwt = JwtHelper.GetJwt(cert, userData.AccessKey, userData.UserId, userData.FirmId);

            var config = RedisConfiguration.CreateFromString(ConfigurationManager.AppSettings["RedisConnString"]);

            using (var cli = new RedisClient(config, new NewtonsoftSerializer()))
            {
                cli.AddObject(userData.AccessKey, userData);
            }


            Console.WriteLine(jwt);
            Console.WriteLine($"----------END JWT-----------");
        }
Example #2
0
        /// <summary>
        /// 从缓存中读取用户缓存信息
        /// </summary>
        /// <param name="userId">目标用户编号</param>
        /// <returns>用户缓存信息</returns>
        public static UserCacheInfo ReadUserCacheInfo(int userId)
        {
            UserCacheData cacheData = userId.GetUserCacheFromStorage();

            if (null != cacheData && null != cacheData.CacheData && cacheData.CacheData.Length > 0)
            {
                return(cacheData.CacheData.ProtoBufDeserialize <UserCacheInfo>());
            }

            UserCacheInfo cacheInfo = ReadUserCacheInfoFromDb(userId);

            if (null == cacheInfo)
            {
                return(cacheInfo);
            }

            cacheData = new UserCacheData {
                UserId = cacheInfo.UserId, CacheData = cacheInfo.ProtoBufSerialize <UserCacheInfo>()
            };
            cacheData.UserCacheStorage();
            return(cacheInfo);
        }