выяснить, почему истекает срок действия билета аутентификации asp.net - PullRequest
5 голосов
/ 12 мая 2009

Мне нужна помощь, чтобы выяснить, почему мой билет аутентификации истекает примерно через час на моем размещенном веб-сайте. Но если я запускаю сайт локально, билет аутентификации остается в силе в течение правильного количества времени.

Это мой localhost web.config:

<authentication mode="Forms">
    <forms loginUrl="~/Account/LogOn" timeout="20160" slidingExpiration="true" path="/" />
</authentication>

и это мой хостинг web.config:

<authentication mode="Forms">
    <forms loginUrl="~/Account/LogOn" timeout="20160" slidingExpiration="true" domain=".mywebsite.com" path="/" />
</authentication>

Я знаю, что создается билет аутентификации, потому что:

  • Я вижу это в браузере куки
  • Я остаюсь в системе даже после закрытия браузера и повторного открытия
  • Я остаюсь в системе даже после перезагрузки веб-сайта (меняя и сохраняя web.config для его переработки)

Когда я проверяю дату истечения срока действия куки в браузере, это через 2 недели. Однако примерно через час моя аутентификация всегда заканчивается.

Что я могу сделать, чтобы выяснить, почему аутентификация размещенного веб-сайта истекает так рано? Я не знаю, как решить эту проблему, поскольку только мой веб-сайт имеет проблемы.

Обновление 1: подождав 1 час, я проверяю свой браузер и вижу, что cookie все еще существует. На самом деле срок его действия установлен на 2 недели позже. Но если я перезагружаю страницу или пытаюсь перейти на любые страницы, требующие аутентификации, я попадаю на страницу входа.

Ответы [ 3 ]

6 голосов
/ 17 мая 2009

Я добавил запись машинного ключа в system.net. Примерно так:

    <machineKey validationKey="aaa"
    decryptionKey="bbb" validation="SHA1" />

и теперь пользователь остается в системе. Однако теперь у меня проблемы с производительностью. Раньше загрузка страницы занимала примерно 500 мс, теперь это время удваивается.

0 голосов
/ 14 мая 2009

Спрашивали ли вы у своего хостинг-провайдера, имеет ли значение machine.config другое значение? Настройки на machine.config переопределят web.config.

0 голосов
/ 14 мая 2009

Я бы попробовал несколько вещей при устранении неполадок:

  • Версия IIS и настройки между вашим локальным хостингом и хостингом. Скорее всего, есть некоторые различия в настройке пула приложений
  • В IIS 7 есть специальная настройка для этого: читайте здесь
...