Срок действия cookie, установленного через FormAuthentication - PullRequest
1 голос
/ 30 сентября 2011

Я использовал MemberShipUser API при входе в систему. Мы проверяем пользователя и создаем FormAuthentication

FormAuthentication.SetAuth(username, false);

сейчас, если пользователь не выходит из системы и не закрывает браузер напрямую. FormAuthentication.SignOut не вызывается.благодаря чему при повторном открытии сайта пользователь уже вошел в систему.

Ответы [ 2 ]

1 голос
/ 30 сентября 2011

Либо настройте значение тайм-аута для соответствующего числа, либо используйте проверку подлинности без использования файлов cookie.

<system.web>
  <authentication mode="Forms">
    <forms loginUrl="Login.aspx"
           protection="All"
           timeout="30" <----------------------------Tune this
           name=".ASPXAUTH" 
           path="/"
           requireSSL="false"
           slidingExpiration="true" <--------------------- Tune this
           defaultUrl="default.aspx"
           cookieless="UseDeviceProfile" <--------------------- Or Turn off cookies
           enableCrossAppRedirects="false" />
  </authentication>
</system.web>

http://msdn.microsoft.com/en-us/library/ff647070.aspx#pagexplained0002_cookielessforms

0 голосов
/ 30 сентября 2011

Файл cookie аутентификации будет по-прежнему действителен. Когда пользователь снова открывает сайт, файл cookie сообщает, что пользователь все еще вошел в систему.

Вы можете сделать файл cookie недолгим, чтобы срок его действия истек:

<authentication mode="Forms">
   <forms loginUrl="Login/" timeout="5"/>
</authentication>

но afaik, если пользователь не выйдет из системы, он не сразу выйдет из системы.

^^ Если вы не используете куки, как говорит хасан-хан (он передает идентификатор в строке запроса, который на самом деле выглядит не очень хорошо)

...