Exemplo n.º 1
0
        public override bool PostProcess(BadrRequest request, BadrResponse response, out string errorMessage)
        {
            CookiesSettings cookiesSettings = SiteManager.Settings.Cookies;
            errorMessage = null;

            if ((!cookiesSettings.SessionSecure || request.IsSecure)
                && response.Status.IsSuccess() && request.Session != null && request.Session.SendCookie)
            {
                HttpCookieFragment sessionFragment = new HttpCookieFragment(
                    name: CookieNames.SESSION_ID,
                    value: request.Session.ID,
                    path: "/",
                    domain: request.DomainUri.Host);

                if(cookiesSettings != null)
                {
                    if(!SiteManager.Settings.Cookies.SessionExpireAtBrowserClose)
                        sessionFragment[HttpCookieFragment.ATTR_MAX_AGE] = cookiesSettings.SessionAge.ToString();

                    sessionFragment.IsSecure = cookiesSettings.SessionSecure;
                    sessionFragment.IsHttpOnly = cookiesSettings.SessionHttpOnly;
                }

                response.Cookies[CookieNames.SESSION_ID] = sessionFragment;
            }

            return true;
        }
Exemplo n.º 2
0
        public override bool PostProcess(BadrRequest request, BadrResponse response, out string errorMessage)
        {
            errorMessage = null;
            if ((!SiteManager.Settings.Cookies.CsrfSecure || request.IsSecure)
                 && response.Status.IsSuccess() && IsValidCsrf(request))
            {
                HttpCookieFragment csrfFragment = new HttpCookieFragment(
                    name: CookieNames.CSRF_TOKEN,
                    value: request.CsrfToken,
                    path: "/",
                    domain: request.DomainUri.Host);

                if(SiteManager.Settings.Cookies != null)
                {
                    csrfFragment.IsSecure = SiteManager.Settings.Cookies.CsrfSecure;
                }

                response.Cookies[CookieNames.CSRF_TOKEN] = csrfFragment;
            }

            return true;
        }
Exemplo n.º 3
0
 static HttpCookieFragment()
 {
     Empty = new HttpCookieFragment();
     Empty._isReadonly = true;
 }
Exemplo n.º 4
0
 public void Parse(string httpCookies)
 {
     foreach (Match m in _regCookies.Matches(httpCookies))
     {
         string name = m.Groups["name"].Success ? m.Groups ["name"].Value : null;
         if(name != null)
             this [name] = new HttpCookieFragment(name, m.Groups ["value"].Value);
     }
 }