예제 #1
0
        // --- Cookie 関係 ---

        public static void _EasySaveCookie <T>(this HttpResponse response, string cookieName, T value, AspNetCookieOptions?options = null, bool easyEncrypt = false, string?easyEncryptPassword = null)
        {
            bool isHttps = response.HttpContext._IsHttps();

            if (options == null)
            {
                options = new AspNetCookieOptions();
            }

            cookieName = (isHttps ? Consts.Strings.EasyCookieNamePrefix_Https : Consts.Strings.EasyCookieNamePrefix_Http) + cookieName;

            if (easyEncryptPassword._IsNullOrZeroLen())
            {
                easyEncryptPassword = CoresConfig.AspNetHelperOptions.CookieEasyEncryptPassword;
            }

            string valueStr = EasyCookieUtil.SerializeObject(value, easyEncrypt, easyEncryptPassword);

            if (valueStr._IsEmpty())
            {
                response.Cookies.Delete(cookieName);
            }
            else
            {
                response.Cookies.Append(cookieName, valueStr, options.ToCookieOptions(isHttps));
            }
        }
예제 #2
0
        public static T _EasyLoadCookie <T>(this HttpRequest request, string cookieName, bool easyDecrypt = false, string?easyDecryptPassword = null)
        {
            bool isHttps = request.HttpContext._IsHttps();

            cookieName = (isHttps ? Consts.Strings.EasyCookieNamePrefix_Https : Consts.Strings.EasyCookieNamePrefix_Http) + cookieName;

            string?valueStr = request.Cookies[cookieName];

            if (easyDecryptPassword._IsNullOrZeroLen())
            {
                easyDecryptPassword = CoresConfig.AspNetHelperOptions.CookieEasyEncryptPassword;
            }

            return(EasyCookieUtil.DeserializeObject <T>(valueStr, easyDecrypt, easyDecryptPassword));
        }