2013-04-30 34 views
0

我使用FormsAuthentication.SetAuthCookie持续

FormsAuthentication.SetAuthCookie(txtUserName.Text, true) 

由于这个cookie是持久的。

1)因此,有需要甚至有超时,因为这个cookie 将不会超时。

请注意下面没有超时。

 <forms loginUrl="Login.aspx" cookieless="UseUri" /> 

2)要照顾的浏览器不容许一个cookie的, 是

 cookieless="UseUri" 

去的地方使用URL的最佳方式?

+0

“注意下面没有超时。” - 出现超时:如果您没有像在示例中那样显式指定它,则默认为30分钟:http://msdn.microsoft.com/en-us/library/1d3t3c61(v=vs.71)。 aspx – Joe 2013-04-30 15:25:38

回答

0

我不确定你想要完成什么,但我可以告诉你持久性cookies会超时。阅读此Forms Element for authentication

关于您的问题,确定 - Cookieless =“UseUri”在不支持cookie的浏览器上非常有用。但根据我的经验,使用此标志被认为是不好的实践,因为:

  1. 大多数浏览器都支持cookies;
  2. 对于cookieless =“UseUri”,两个用户可以共享会话数据,他们所要做的就是让一个用户将他的应用程序url发送给另一个用户;
+0

感谢bastos - 我如何处理旧版浏览器或禁用Cookie的用户。我如何处理这些用户这就是为什么我有cookieless =“Useuri” – 2013-04-30 15:31:23

+1

自1995年以来,Cookie一直存在。只有真正的,真正旧的浏览器不执行cookie。如果用户在他的浏览器上禁用了Cookie,而不是让他失望,只需将他重定向到错误页面......这比让用户分享会话要好。 – 2013-04-30 15:45:14