Тайм-аут аутентификации ASP.NET может быть установлен в файле web.config (как вы показали в своем вопросе), однако он также может быть установлен в коде. Есть ли в вашем коде C # какие-либо области, которые явно устанавливают значение времени ожидания формы? Если это так, настройка в коде переопределит настройку web.config.
Другой возможностью является использование файла cookie для проверки подлинности сгенерированного кода. Обычно это делается снова, в коде C #, примерно так:
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(
name,
isPersistent,
expirationTime);
Если вы создаете конкретный FormsAuthenticationTicket с настройкой тайм-аута (например) 60 минут, в то время как ваша настройка web.config показывает 30 минут, заявка, установленная из кода, переопределит настройку web.config.
Обратите внимание, что значения времени ожидания сеанса ASP.NET и сеанса IIS не должны влиять на время ожидания проверки подлинности форм.
Конечно, в качестве последней возможности, поскольку аутентификация форм обычно основывается на cookie-файлах на стороне клиента, вполне возможно, что пользователь удаляет / удаляет cookie-файлы. Это, конечно, приведет к тому, что пользователь не будет аутентифицирован на вашем сайте.
Пожалуйста, ознакомьтесь с этой записью от Скотта Форсайта на сайте weblogs.asp.net, где подробно рассматриваются эти самые проблемы.