Вопрос по аутентификации форм в asp.net - PullRequest
1 голос
/ 27 декабря 2010

Мне нужно защитить страницы веб-сайта электронной коммерции, используя проверку подлинности с помощью форм, и есть требование клиента, чтобы в форме входа в систему был установлен флажок «Запомнить меня», который при нажатии будет держать пользователя вошедшим в систему в течение месяца иначе ему придется заходить каждый раз при посещении сайта. Как я могу сделать это с проверкой подлинности форм?

Также меня смущает параметр "createPersistentCookie" методов "RedirectFromLoginPage" или "SetAuthCookie", если задано значение true, он создаст постоянный файл cookie. Постоянный как долго?

Спасибо

Ответы [ 2 ]

1 голос
/ 27 декабря 2010

Вы указываете время ожидания файла cookie в файле web.config:

<forms 
   name="name" 
   loginUrl="URL" 
   defaultUrl="URL"
   protection="[All|None|Encryption|Validation]"
   timeout="[MM]"
   path="path"
   requireSSL="[true|false]"
   slidingExpiration="[true|false]">
   enableCrossAppRedirects="[true|false]"
   cookieless="[UseUri|UseCookies|AutoDetect|UseDeviceProfile]" 
   domain="domain name"
   ticketCompatibilityMode="[Framework20|Framework40]">
   <credentials>...</credentials>
</forms>

http://msdn.microsoft.com/en-us/library/1d3t3c61.aspx

http://weblogs.asp.net/scottgu/archive/2005/11/08/430011.aspx

Если вы просто хотите установить cookie (аутентифицировать пользователя) и выполнить свое собственное перенаправление, используйте SetAuthCookie с параметром "true".

0 голосов
/ 27 декабря 2010

Вместо того чтобы полагаться на страницу SetAuthCookie или RedirectFromLogin, вы можете явно создать FormsAuthenticationTicket и cookie.Здесь вы можете контролировать время ожидания файла cookie и билета.

Класс FormsAuthenticationTicket

Также отметьте это .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...