关于asp.net中表单身份验证的问题

时间:2010-12-27 15:25:42

标签: asp.net forms-authentication

我需要使用表单身份验证来保护电子商务网站的页面,并且客户端要求在登录表单中会出现“记住我”复选框,单击该复选框将使用户保持登录一个月否则他每次访问该网站时都必须登录。如何使用表单身份验证执行此操作?

我也对“RedirectFromLoginPage”或“SetAuthCookie”方法的参数“createPersistentCookie”感到困惑,如果设置为true,它将创建一个持久性cookie。持续多久?

由于

2 个答案:

答案 0 :(得分:1)

您可以在web.config中指定cookie的超时时间:

<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(验证用户)并进行自己的重定向,请使用带有“true”参数的SetAuthCookie。

答案 1 :(得分:0)

您可以显式创建FormsAuthenticationTicket和Cookie,而不是依赖于SetAuthCookie或RedirectFromLogin页面。在这里,您可以控制cookie和票证的超时。

FormsAuthenticationTicket Class

Also check this