вопрос членства после интернет-хостинга - PullRequest
0 голосов
/ 24 октября 2011

У меня есть приложение asp.net для корзины покупок. В настоящее время я управляю системой входа в систему, просто создав таблицу БД с двумя полями username и password и в моем файле web.config перенаправьте всех пользователей на страницу входа с помощью тега аутентификации и авторизации

 <authentication mode="Forms" >
 <forms  defaultUrl="default.aspx" loginUrl="login1.aspx"   cookieless="AutoDetect"  ></forms>
      </authentication>
      <authorization>
        <deny users="?"/>
      </authorization> 

и на моей странице входа в систему просто сравните имя пользователя / пароль, введенное пользователем, с записью в базе данных, и, если пользователь прав, вызывая функцию

FormsAuthentication.RedirectFromLoginPage(username, true); 

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

1 Ответ

0 голосов
/ 25 октября 2011

Похоже, ваши пользователи сталкиваются с истечением срока действия файлов cookie. Добавьте следующие атрибуты к вашему элементу <forms>:

<forms defaultUrl="default.aspx" loginUrl="login1.aspx" cookieless="AutoDetect" slidingExpiration="true" timeout="60" />

По умолчанию скользящий срок действия ДОЛЖЕН быть установлен в значение true, но если это не так, то через 30 минут после входа пользователя их аутентификация истечет, независимо от того, посещали ли они другие страницы сайта с того времени. По умолчанию период ожидания также должен быть установлен равным 30 минутам с момента последнего обновления, поэтому, если ваш пользователь простаивает в течение 30 минут, он должен будет обновить куки-файл аутентификации, чтобы получить доступ к защищенному контенту. Вы можете расширить это значение до любого значения, например «60» в приведенном выше примере.

Подробнее об этих атрибутах можно узнать на справочной странице MSDN .

...