Ошибка 4005 Проверка подлинности с помощью форм - срок действия предоставленного билета истек - PullRequest
9 голосов
/ 12 ноября 2008

Я управляю сайтом, использующим ASP.NET 2.0. Время от времени (10+ раз в день на 100+ пользователей в день) я получаю эту ошибку: Ошибка аутентификации с помощью форм - срок действия предоставленного билета истек.

Вот мой фрагмент web.config:

<authentication mode="Forms">
    <forms name=".CLLSAUTH" loginUrl="login.aspx" protection="All" path="/" timeout="60" />
</authentication>

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

Есть какие-нибудь подсказки?

1 Ответ

3 голосов
/ 12 ноября 2008

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

Попробуйте добавить slidingExpiration="true" к элементу формы. Таким образом, время ожидания перезапускается каждый раз, когда пользователь подключается к серверу.

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

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

...