1

我在 asp.net 和 C# 中工作。

我有一个应用程序,用户登录以进入应用程序,如果用户在浏览器中打开应用程序并登录,如果用户在同一系统中的其他浏览器中打开应用程序,他们也应该登录。同样应该发生在同一浏览器的不同选项卡中,也应该发生在用户先前登录的同一浏览器的不同实例中。请给我您的建议.....

4

3 回答 3

6

不能在多个浏览器之间共享会话

但是同一浏览器实例的多个选项卡之间的会话已经共享

于 2013-01-09T06:07:57.890 回答
4

答案是,如上所述,您不能在 2 个不同的浏览器之间共享会话,因为每个浏览器都必须启动一个新会话。

如果您想要一种方法允许用户登录一次并即使他打开不同的浏览器也保持登录状态,那么您将不得不依赖他的 IP 地址,因为这是登录 Chrome 2 秒的用户的唯一指标以前,可能是现在从 Firefox 登录的同一用户。这只是给你一个例子,但这显然是有缺陷的,因为同一网关后面的不同用户都将拥有相同的 IP。

只有当您开发的应用程序位于 Intranet 中并且您确定每个用户都将拥有一个唯一的内部 IP 地址时,您想要做的事情才会起作用,但是可以通过更有效的方式来实现验证用户的全部目的,例如集成Windows 身份验证等

于 2013-01-09T06:19:00.373 回答
2

您可以在两个浏览器之间共享会话,几年前我们已经实施了这样的项目。

使用的技术是编写一个自定义浏览器,而不是将 cookie 存储在本地计算机中,而是将其存储在公共服务器中,这样当一个人登录 cookie 时,与会话相关的其他本地数据将与服务器共享,从而与所有浏览器实例,浏览器实例 cookie 被修改以匹配服务器详细信息,因此它的行为就像会话是共享的。一些网站在使用不同的 IP 时存在问题,这可以通过使用通用代理服务器来解决。

但是如果您不能使用自定义浏览器,那么这将很困难,但仍然可以尝试使用遵循上述方法的插件希望这会有所帮助

于 2016-05-19T08:17:53.803 回答