Файлы cookie ASP.NET MVC не сохраняются? - PullRequest
6 голосов
/ 26 ноября 2010

Почему этот файл cookie не сохраняется в методе Session_Start моего global.asax?

//new anon user:

var authCookie = new HttpCookie("user-id", string.Format("{0}-{1}", regiserAccountResponse.UserName, regiserAccountResponse.Key))
{
    Expires = DateTime.MaxValue,
    Domain = "domain.com",
    Secure = true,
    HttpOnly = true
};

//create the new users cookie - there's no need to call RegisterNewUserSession as this is done in the same call
HttpContext.Current.Response.SetCookie(authCookie);

Ответы [ 2 ]

5 голосов
/ 26 ноября 2010

Вам нужно указать Домен только в том случае, если вы хотите ограничить использование куки-файлов определенным разделом вашего сайта.Файл cookie будет включен в запрос только в том случае, если он находится в правильной области.

Установив для домена значение «domain.com», вы говорите, что файл cookie будет доступен только для «domain.com».поэтому вы не сможете обнаружить его с локального хоста (или с любого другого домена, кроме domain.com ").

Вы также заметите, что если вы попытаетесь отправить браузеру файл cookie с домена, отличного от вашегособственный, браузер будет это делать.

0 голосов
/ 27 ноября 2018

iOS в настоящее время довольно сильно старается как можно быстрее блокировать файлы cookie без домена, поэтому в принятом ответе говорится: «Вам нужно указать домен, только если вы хотите ограничить использование cookie определенным разделом вашего веб-сайта» - я не думаю, что это правда. Вам необходимо установить домен.

Следующий фрагмент будет работать от локального до производственного:

    private static HttpCookie CreateCookie(string name, string value)
    {
        return new HttpCookie(name, value) { Path = "/", Expires = DateTime.UtcNow.AddYears(1), Domain = Request.Url.Host };
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...