2010-09-21 5 views
2

У меня есть много сайтов под одной аутентификацией форм ASP.NET. У них смешанные рамки (у некоторых есть 2.0, некоторые 4.0, но все в порядке). Все работает нормально, но иногда, после случайного времени (например, две минуты) сеанс на клиенте заканчивается, и он должен ввести свой пароль agian , Зачем? Что мне не хватает?сеанс аутентификации ASP.NET

Вот часть моего web.config:

<authentication mode="Forms" ><forms loginUrl="../web/start_page/start_page.aspx" 
    name=".ASPXFORMSAUTH" 
    protection="All" 
    path="/" 
    timeout="60" /></authentication> 
<machineKey 
    validationKey="blablabla" 
    validation="SHA1" /> 
<sessionState mode="InProc" stateNetworkTimeout="3600" /> 

Просмотр событий показывает:

Event code: 4005 
Event message: Forms authentication failed for the request. Reason: The ticket supplied has expired. 
Event time: 21.09.2010 8:23:26 
Event time (UTC): 21.09.2010 4:23:26 
Event ID: e3a00bef332a4dec9cd1aa078a3d5aa4 
Event sequence: 277 
Event occurrence: 1 
Event detail code: 50202 
+0

Вы посмотрели файл cookie в firebug, чтобы узнать, к чему установлен «expires»? – RPM1984

+0

Возможно, серверные часы на сайтах не синхронизированы? проверить дату на них и дату на клиентских машинах. – RPM1984

ответ

1

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

<configuration> 
    <sessionstate 
     mode="inproc" 
     cookieless="false" 
     timeout="20" 
     sqlconnectionstring="data source=127.0.0.1;user id=<user id>;password=<password>" 
     server="127.0.0.1" 
     port="42424" 
    /> 
</configuration> 

Время ожидания. Эта опция управляет временем, в течение которого сеанс считается действительным. Тайм-аут сеанса - это скользящее значение; по каждому запросу период таймаута устанавливается на текущее время плюс значение тайм-аута

+0

поэтому у меня есть тайм-аут = 60, почему он не подходит? – eba

+0

@eba - проверьте тайм-аут propety на более подробной информации о msdn, чтобы увеличить время ожидания. –

+1

Конфигурация sessionstate не имеет ничего общего с таймингами cookie проверки подлинности. – RPM1984