Я создаю веб-проект, в котором я использую проверку подлинности с использованием файлов cookie, чтобы проверить, является ли пользователь аутентификацией.Срок действия формы с помощью WebAPI истекает через 5 минут
Все работает нормально, но когда я размещаю это на общем хостинге, сеанс истек через 5 минут бездействия. Я установил тайм-аут в конфигурации до 60 минут.
<authentication mode="Forms">
<forms name=".auth" protection="All" timeout="60"/>
</authentication>
В то время как Login, я создал API под названием login, где я устанавливаю аутентификацию.
FormsAuthentication.SetAuthCookie(".auth", false);
И проверяю, аутентифицирован ли пользователь в веб-API, и мой API выглядит так.
[Authorize]
[RoutePrefix("api/value")]
public class ValueController : ApiController
{
// GET api/value
[Route("get")]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
}
Я знаю, что это очень старый/плохой подход для проверки через куки, но это мое унаследованное приложение, и я не могу изменить структуру аутентификации и использовать Owin.
Можно ли предположить, почему он истекает через 5 минут бездействия на совместном хостинге? Он работает правильно на моем местном IIS и не истекает до 60 минут.
Помощь назначена.
App бассейны есть время простоя в дополнение к тайм-аут сеанса веб-сайт. Значение по умолчанию - 20 минут. Это не контролируется web.config, и вам нужно изменить его в настройках iis. – rdans
, но на моем общем хостинге нет выбора. поставщик не позволяет нам это изменить. (Go Daddy) – Moiz
Вероятно, вы не сможете его увеличить. Это сообщение, похоже, подтверждает, что тайм-аут idad godaddy составляет 5 минут: http://www.codeproject.com/Questions/868986/Validation-of-viewstate-MAC-failed - вы можете открыть билет поддержки с godaddy, чтобы спросить, иначе вы можете либо изменить свой хостинг, либо создать какой-то авторесурсный веб-реестр, чтобы поддерживать сайт – rdans