0

我在站点的任何地方都使用 ASP.NET 成员资格,例如日志记录、创建帐户等。如何设置它以使用 cookie。例如,一旦用户登录,用户就会使用 cookie 保持登录状态 2 小时。现在它似乎没有使用cookies。我是否在网页的 web.config 中设置了一些东西。我还如何指定 cookie 过期的时间?顺便说一下,asp.net 成员是否支持/集成 cookie?

4

2 回答 2

2

您是否使用表单身份验证?http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.setauthcookie(v=vs.90).aspx

您使用的任何身份验证提供程序都负责设置 cookie(如果有)并确定登录会话何时到期。

对于 web.config 中的 asp.net Forms 身份验证:

<authentication mode="Forms">
  <forms loginUrl="~/Account/Login" timeout="2880" />
</authentication>
于 2012-11-21T00:10:04.250 回答
0

如果您使用标准的 asp.net 登录控件,则将该DisplayRememberMe属性设置为 true:

<asp:Login DisplayRememberMe="True|False" />

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.login.displayrememberme(v=vs.100).aspx

如果您使用的是自定义登录页面,那么您在验证用户身份后我认为您可以调用

SetAuthCookie(
    string userName,
    bool createPersistentCookie)

http://msdn.microsoft.com/en-us/library/twk5762b(v=vs.90).aspx

要设置超时,您可以使用 web.config 文件:

 <authentication mode="Forms">
     <forms cookieless="UseCookies" timeout="525600" />
 </authentication>
于 2012-11-21T00:18:59.053 回答