Делает FormsAuthentication. SetAuthCookie () делают основанный на сессии cookie?

Когда подписчик отказывается от подписки, Вы изменяете содержание набора Подписчиков во время перечисления.

существует несколько способов зафиксировать это, при этом один изменяющийся, чтобы цикл использовал явное .ToList():

public void NotifySubscribers(DataRecord sr)  
{
    foreach(Subscriber s in subscribers.Values.ToList())
    {
                                              ^^^^^^^^^  
        ...
10
задан 26 August 2009 в 15:14
поделиться

2 ответа

Это обычная путаница. Сеанс и FormsAuthentication - это две разные концепции: у них есть независимые тайм-ауты и независимые файлы cookie (или нет файлов cookie, если вы используете сеансы без файлов cookie).

Сессия на сервере идентифицируется уникальным файлом cookie, который создается даже для анонимных пользователей. Этот файл cookie содержит идентификатор сеанса, который не имеет ничего общего с FormsAuthentication.

Файл cookie FormsAuthentication содержит ряд вещей, наиболее важной из которых является билет проверки подлинности. Этот билет представляет собой зашифрованный бит информации, который идентифицирует пользователя по предоставленным учетным данным для входа. В этой статье MSDN есть отличная пошаговая схема и объяснение того, что находится в билете .

21
ответ дан 3 December 2019 в 17:21
поделиться

Я не совсем понимаю, о чем вы спрашиваете, но если ваш вопрос заключается в том, как получить доступ к сеансу ["userAge"] без файла cookie аутентификации, ответ потому что это отдельный объект от сеанса.

Файл cookie аутентификации (имя по умолчанию .ASPXAUTH ) создается еще до начала сеанса, поэтому он не может быть основан на сеансе.

2
ответ дан 3 December 2019 в 17:21
поделиться
Другие вопросы по тегам:

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