Действительно ли возможно удалить cookie субдомена?

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

import org.apache.spark.sql.functions.{collect_list, struct}
import sqlContext.implicits._

val df = Seq(
  ("john", "tomato", 1.99),
  ("john", "carrot", 0.45),
  ("bill", "apple", 0.99),
  ("john", "banana", 1.29),
  ("bill", "taco", 2.59)
).toDF("name", "food", "price")

df.groupBy($"name")
  .agg(collect_list(struct($"food", $"price")).as("foods"))
  .show(false)

Выходы:

+----+---------------------------------------------+
|name|foods                                        |
+----+---------------------------------------------+
|john|[[tomato,1.99], [carrot,0.45], [banana,1.29]]|
|bill|[[apple,0.99], [taco,2.59]]                  |
+----+---------------------------------------------+
12
задан dan-manges 22 September 2008 в 20:15
поделиться

2 ответа

Cookie только читаемы доменом, который создал их, поэтому если cookie был создан по metric.foo.com, он должен будет быть удален под тем же доменом, как он был создан. Это включает субдомены.

Если Вы будете обязаны удалять cookie из metric.foo.com, но в настоящее время выполните страницу по www.foo.com, то Вы не сможете.

Чтобы сделать это, необходимо загрузить страницу из metric.foo.com или создать cookie в соответствии с foo.com, таким образом, это может быть доступно под любым субдоменом. ИЛИ используйте это:

Response.cookies ("микооки") .domain = ".foo.com"

... при создании его, И перед удалением его.

.. непротестированный - должен работать.

18
ответ дан 2 December 2019 в 06:28
поделиться

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

void DeleteSubdomainCookie(HttpResponse response, string name)
{
    HttpCookie cookie = new HttpCookie(name);
    cookie.Expires = DateTime.Now.AddMonths(-1);
    cookie.Domain = ".yourdomain.com";
    response.Cookies.Add(cookie);
}
6
ответ дан 2 December 2019 в 06:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: