如何防止所有Firefox浏览器实例使用相同的身份验证cookie?

Sou*_*ceC 0 asp.net authentication forms-authentication

我通过创建Default.aspx和自定义登录页面来实现Forms身份验证login.aspx.如果未经身份验证的用户浏览Default.aspx,则会将用户重定向到login.aspx,并且仅当找到所提供凭据的匹配项时,才会将用户重定向到default.aspx.

  • 但是当使用Firefox时,似乎所有浏览器实例都使用相同的身份验证cookie实例,因此如果浏览器B1中的用户以用户U1身份登录,则访问该Web应用程序的所有浏览器实例将以用户U1身份登录.因此,如果例如浏览器实例B1 第一次请求Default.aspx,它将立即被授予访问权限.

  • 如果在我以用户U1登录后,我login.aspx 使用不同的用户名(例如用户U2)浏览并登录,然后在回发时,所有浏览器(以前以用户U1登录)现在将以用户U2登录.

如何防止这种行为,以便每个浏览器实例都会收到自己的身份验证cookie?

Sho*_*og9 5

每个浏览器实例都有自己的一组cookie.和历史.和书签.因为每个正在运行的实例都需要附加到自己的配置文件中.

但是,任何给定的实例都可以打开多个选项卡和窗口.那些将共享cookie.如果这不适合你,那么不要使用cookies ...

如果您只是想让它更容易进行测试,为什么不设置一个单独的测试配置文件并启动一个单独的Firefox实例呢?

  • 使用-p选项启动firefox.exe,它将允许您管理配置文件.要在已运行新实例时启动它,请使用-no-remote选项.要加载特定的配置文件,请在-p选项后传递配置文件的名称.所以,我的测试快捷方式如下所示:firefox.exe -no-remote -p"test" (2认同)