Тайм-аут сеанса убивает файл cookie Remember Me в базе данных aspnet

Я пытаюсь понять, есть ли в этом смысл:

1. User logs in, checks "remember me" checkbox.
2. User logs out.
3. User comes back and is automatically logged in.

По сути, это именно то, что вы ожидаете. Значит, работает. Вот где это становится немного странным:

1. User logs in, checks "remember me" checkbox. (Or logs in using remember me.)
2. User is inactive for over 20 minutes, so the session times out.
3. User clicks a link and is sent to the sign in page.  
4. User closes browser, then opens again.  They are taken to the sign in page.

Похоже, что функция «Запомнить меня» отключена для этого пользователя, когда его сеанс истекает из-за бездействия. Я пытался найти что-то об этом в документации, но безуспешно. Если это ожидаемое поведение, тогда это круто, но я хотел бы подтвердить.

Мы используем менеджер Sitecore.Security.Authentication, чтобы установить cookie в первую очередь.


person Josh C    schedule 03.10.2012    source источник
comment
Я думаю, что в большинстве приложений файлы cookie «запомнить меня» удаляются, когда пользователь выходит из системы - это предполагаемое поведение, и для меня тоже логичное.   -  person Adam Hopkinson    schedule 04.10.2012
comment
Я тоже так думал, но не смог найти никакой документации, подтверждающей это. (Или же ему противоречить.)   -  person Josh C    schedule 05.10.2012


Ответы (2)


По моему опыту, функция «запомнить меня» никогда не работала должным образом .. Кажется, это ошибка, которая существует всегда. Обычно я просто позволяю своему браузеру сохранять информацию для входа в Sitecore, если ее слишком сложно запомнить.

person Ruud van Falier    schedule 03.10.2012

Прежде всего, важно знать, что даже токен «запомнить меня» имеет проверку: срок действия «cookie» истекает через некоторое время, и его можно настроить, даже если он имеет значение по умолчанию. Вам нужно проверить значение по умолчанию.

Во-вторых, из-за единого выхода файл cookie «запомнить меня» должен быть удален после выхода (точно так же, как @adam сказал в своем комментарии). Запомнить меня запоминает пользователя между сеансами, но не в том случае, если он вышел из системы. Подумайте об этом так: если у вас есть учетная запись Facebook или Google, и вы вошли в систему после нажатия кнопки «Запомнить меня». Затем вы выходите из системы и снова возвращаетесь. Вас снова попросят ввести учетные данные! (Если это не вы пытаетесь войти в систему? Хотите, чтобы Facebook запомнил вас даже после того, как вы вышли из системы?)

Практическое применение запомнить меня таково: вы входите в систему на веб-сайте, затем закрываете браузер (без выхода!), И, закрывая браузер, вы «теряете» сеанс. Когда вы повторно открываете браузер, вы получаете новый сеанс. Затем вступает в действие функция «запомнить меня»: у вас будет доступ к веб-сайту без необходимости повторного ввода учетных данных.

person OhadR    schedule 18.10.2012