public string GetUserNameFromAuthCookie(CookieSecuirtyMode securityMode, string cookieName, ref string userDataInTicket)
        {
            userDataInTicket = null;
            string userName = null;

            if (this.Request.Cookies != null && this.Request.Cookies.Count > 0)
            {
                HttpCookie cookie = this.Request.Cookies[cookieName];
                if (cookie != null)
                {
                    switch (securityMode)
                    {
                    case CookieSecuirtyMode.FormsAuthentication:
                        FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(cookie.Value);
                        if (ticket != null)
                        {
                            userName         = ticket.Name;
                            userDataInTicket = ticket.UserData;
                        }
                        break;

                    case CookieSecuirtyMode.Default:
                    default:
                        userName = cookie.Value;
                        break;
                    }
                }
            }
            return(userName);
        }
        public HttpCookie SetAuthCookie(CookieSecuirtyMode securityMode, string cookieName, string value, DateTime cookieExpirationDate, bool availableToJavascript, string userData = null, string cookiePath = "/", string domain = null)
        {
            string cookieValue = value;

            switch (securityMode)
            {
            case CookieSecuirtyMode.FormsAuthentication:
                FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, cookieValue, DateTime.Now, cookieExpirationDate, true, userData);
                value = FormsAuthentication.Encrypt(ticket);
                break;

            case CookieSecuirtyMode.Default:
            default:
                break;
            }

            return(SetCookie(cookieName, value, cookieExpirationDate, availableToJavascript, cookiePath: cookiePath, domain: domain));
        }