在表单身份验证Cookie中更新域

时间:2018-09-18 03:19:24

标签: c# asp.net cookies forms-authentication cookieless

我有一个继承的应用程序(我们称它为app.mydomain.com),我正在尝试更新通过web.config设置的cookie中的域。目前,它是这样的:

<authetication mode="Forms">
<forms loginUrl="~/" timeout="2880" cookieless="UseCookies" domain=".mydomain.com"/>
</authentication>

app2.mydomain.com上有一个单独的应用程序,也使用表单身份验证,并且来自app.mydomain.com的cookie与此冲突。 app2.mydomain.com在其表单身份验证块中正确引用了整个域,因此只要app.mydomain.com cookie不存在,它就可以正常工作。我的计划是简单地将web.config中的.mydomain.com引用更改为app.mydomain.com,以解决此冲突。

我的问题是,一旦在生产环境中更新了web.config,app.mydomain.com上的现有cookie会如何表现?看到此更新后,它会覆盖现有的cookie吗?现有的cookie是否会粘住并且必须冲洗掉才能使新的cookie生效?预先感谢。

1 个答案:

答案 0 :(得分:0)

所以我最终以不同的方式来处理这个问题。它不是我想到的,但是它是通过这种方式设置的,以适应位于不同子域中的应用程序和api。通过将其设置为.mydomain,两者都可以访问身份验证cookie。删除domain属性后,我可以登录,但立即将我扔回登录。因此,我最终使用此格式(.mydomain)保留了该应用程序,然后更改了第二个应用程序以使其也使用。这允许两个应用程序都可以访问的一个登录集凭据。我只是想解决Cookie冲突,但这甚至更好。