2012-03-22 2 views
0

Я играл с проверкой подлинности форм, и я заметил проблему, если пользователь закрыл свой браузер, а не щелкнул кнопку выпадающего на веб-сайте.Формы auth cookie сохраняются в браузере close

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

Masterpage код за

protected void Page_Init(object sender, EventArgs e) 
    {   
     // if authenticated, initialize session 
     if (Request.IsAuthenticated) 
     {    
      // set stuff 
     }   
    } 

Когда я отладки через него в первый раз, она попадает Request.IsAuthenticated это ложь, то она попадает снова, и это правда. Проблема заключается в интерфейсной странице. У меня есть некоторые проверки, чтобы проверить, проверен ли пользователь, и он ошибочен, когда оценивает эти условия.

Masterpage Фронтальный

<% if (Request.IsAuthenticated) { %> 
     <li>Admin Page</li> 
<% } %> 

Установка Auth Cookie

FormsAuthentication.SetAuthCookie(username, false); 

Web.config

<authentication mode="Forms"> 
     <forms 
      loginUrl="/" 
      name="ASPXFORMSAUTH" 
      timeout="360"   
     />   
    </authentication> 

Резюме

  1. Форма аутентификация печенье сохраняется, когда пользователь просто закрывает/закрывает браузер вниз, даже если он не является стойким печеньем
  2. Если пользователь имеет существующие формы аутентификации куки, когда они нагружают вверх по сайт Request.IsAuthenticated check оценивает значение false на первом попадании в отладчике, а затем true на втором. На лицевой панели страница явно проверяет эти вещи при первом попадании, потому что они оценивают значение false.

ответ

0

Выяснено.

Появляется проблема с Firefox. Firefox позволяет пользователям сохранять свои вкладки, но удаляет эту функцию. Сохраняемые вкладки также сохраняли файлы cookie сеансов, связанные с вкладками.

Установка в о: конфигурации является

browser.showQuitWarning 

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

Смежные вопросы