2011-01-21 67 views
1

我们最近更新了从经典ASP到ASP.Net 3.5的网站。ASP.NET会员用户登录错误Cookie问题

旧网站使用基于cookie的登录系统。 如果在第一次登录时选择了复选框,它会记住用户的登录信息。这当然可以在cookie中完成。

然后,我们使用ASP.net升级了该网站。 我们将旧用户转移到内置的ASP.net成员身份验证中。

除了一个非常奇怪的事件,它工作得很好。 当用户登录到站点,但存储登录信息的站点有旧的Cookie时,ASP.net身份验证似乎崩溃。

没有错误信息,没有任何信息。

用户尝试登录,获取任何错误消息,刚刚也返回到登录页面。

这似乎是在看旧Cookie,只是不知道该怎么办。

旧网站和新网站的域名相同。

这并不适用于新用户谁没有到过旧的网站出现。

如果旧网站用户清除了他在他的浏览器的cookies,他可以登录罚款和错误不会再发生。

但我们有5000个用户,我们不能告诉他们全部清除其cookie。

我试图改变在下面的代码行设置在我的web.config。

<authentication mode="Forms"> 
    <forms cookieless="UseCookies" loginUrl="~\User\Login.aspx" defaultUrl="~\Default.aspx" timeout="26280000" /> 
</authentication> 

但我不确定它是否有帮助。

任何援助将不胜感激。

谢谢

回答

2

使用表单身份验证,您的登录由表单身份验证Cookie控制。所以我不明白你的旧cookie如何干扰FAC?

如果你是在自定义的cookie存储一些值,一个办法是在新的代码更改cookie的名称。即如果代码正在创建“CookieA”,与旧应用程序的名称相同,则在读取时将其更改为“CookieB”并且相同。

+0

试了一下,这是行不通的。这只是没有意义,我知道旧的cookie不应该干扰新的cookie,但让老用户登录的唯一方法是先清除cookie。会不会有其他事情呢? – matwonk 2011-01-25 14:59:19

0

指定cookie标记名称:

<forms name=".ASPXFORMSAUTH" ... />