Что может вызвать ASP.NET FormsAuthentication Проблемы с файлами cookie, кроме отключения файлов cookie?

Люди сообщают о проблемах при входе на один из наших сайтов ASP.NET. Когда я проверяю журналы IIS, создается впечатление, что куки-файлы FormsAuthentication не кэшируются их браузерами после того, как они вошли в систему.

Я не думаю, что это так просто, как «пользователь установил свой браузер, чтобы он не принимал куки», потому что:
a) Если бы файлы cookie в целом не работали для их браузера, они бы никогда не достигли такого уровня, как в процессе - например, файлы cookie сеанса ASP.NET работают нормально, например.
б) Как правило, это не те пользователи, которые бы даже знали, как отключить куки.

Так что я думаю, что это должно быть что-то другое. Какие проблемы могут привести к тому, что файлы cookie ASP.NET FormsAuthentication перестают работать, кроме пользователей, которые просто настраивают свои браузеры на отклонение файлов cookie?

edit: Например Этот ответ на другой вопрос предполагает, что иногда файлы cookie FormsAuthentication сбрасываются из-за их слишком большого размера - может быть, кто-то может пролить свет на это?

править: размер файла cookie FormsAuthentication для одного из наших сайтов составляет 233 байта - это немного больше? Можно ли сделать его меньше? Возможно, это поможет.

Отредактируйте: я заметил, что код использует FormsAuthentication.SetAuthCookie () и Response.Redirect () вместо FormsAuthentication. RedirectFromLoginPage () - это может быть связано?

6
задан Community 23 May 2017 в 12:34
поделиться

2 ответа

Возможно ли, что пользователь получает доступ к вашему веб-серверу через 2 разных домена? Например, если я перейду на www.foo.com и получу файл cookie аутентификации, а затем перенаправлю на www.bar.com, запрос, отправленный на www.bar.com, определенно не будет содержать файл cookie, установленный www.foo.com. .

Эта проблема также может возникнуть, если вы установите cookie на htp: //login.foo.com, а затем перенаправите на htp: //content.foo.com. Однако я считаю, что файл cookie можно настроить с помощью подстановочного знака, чтобы он применялся к * .foo.com.

Редактировать: намеренно неправильно написано "http", чтобы в этом ответе не было реальных интерактивных ссылок на мусор. :)

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

Имеется тайм-аут простоя - они входят в систему, затем какое-то время ничего не делают, а затем снова пытаются получить доступ к сайту? Вы можете это проверить. И посмотрите, установлен ли тайм-аут как скользящий тайм-аут (например, 20 минут после последнего запроса) или фиксированный тайм-аут (например, 20 минут после входа в систему). Я думаю, что скользящий тайм-аут не является настройкой по умолчанию.

1
ответ дан 8 December 2019 в 18:29
поделиться
Другие вопросы по тегам:

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