.net 是否可以在浏览器作用域的实例上实现身份验证?

.net 是否可以在浏览器作用域的实例上实现身份验证?,.net,asp.net,authentication,.net,Asp.net,Authentication,是否可以实现仅在浏览器的同一实例中可用的身份验证。我的意思是,当用户从同一浏览器的另一个实例输入时,他将能够从不同的帐户登录。这两个帐户将同时登录?表单身份验证允许这样做。请注意,您必须打开另一个浏览器窗口,而不是选项卡,因为浏览器窗口中的选项卡之间通常共享身份验证cookies 如果在登录页面上使用登录控件,请将DisplayMemberme属性值设置为false。并使用以下代码从登录页面重定向:FormsAuthentication.RedirectFromLoginPage(LoginCo

是否可以实现仅在浏览器的同一实例中可用的身份验证。我的意思是,当用户从同一浏览器的另一个实例输入时,他将能够从不同的帐户登录。这两个帐户将同时登录?

表单身份验证允许这样做。请注意,您必须打开另一个浏览器窗口,而不是选项卡,因为浏览器窗口中的选项卡之间通常共享身份验证cookies

如果在登录页面上使用登录控件,请将DisplayMemberme属性值设置为false。并使用以下代码从登录页面重定向:
FormsAuthentication.RedirectFromLoginPage(LoginControl.UserName,false)在这种情况下,身份验证cookie将存储在浏览器的进程中,并且不会在浏览器的多个实例之间共享

如果您仍然有兴趣得到答案,我将尝试解释表单身份验证是如何工作的。 每次打开受保护页面时,系统都会检查身份验证cookie。若它不存在,系统将返回一个未授权的响应,并将用户重定向到登录页面。当用户输入登录名和密码时,请尝试使用提供的凭据对用户进行身份验证。若凭证有效,则系统生成身份验证cookie并将其发送到客户端浏览器。然后这个cookie将用于将来的请求。 有两种方法可以将此cookie存储在客户端: 第一个-当cookie在客户端硬盘上持久化时。在这种情况下,每次用户打开此站点的页面时,此特定cookie都会使用。每个浏览器实例的cookie都是相同的,因此不能使用不同的凭据打开不同的浏览器实例。 但第二种选择是,身份验证cookie不会持久保存在客户端的硬盘上,而是存储在浏览器的进程中。在这种情况下,您可以为不同的用户打开许多浏览器窗口。 正如我前面提到的,ASP.NET中的这两个场景可以通过为FormsAuthentication.SetAuthCookie或FormsAuthentication.RedirectFromLoginPage方法提供适当的第二个参数来实现:对于客户端硬盘上的持久cookie为true,对于浏览器进程中的存储cookie为false


顺便说一下,即使使用Windows身份验证,您也可以使用不同的凭据打开网站页面。要实现这一点,您必须使用“运行方式…”命令启动浏览器,并提供不同的Windows凭据。

表单身份验证允许这样做。请注意,您必须打开另一个浏览器窗口,而不是选项卡,因为浏览器窗口中的选项卡之间通常共享身份验证cookies

如果在登录页面上使用登录控件,请将DisplayMemberme属性值设置为false。并使用以下代码从登录页面重定向:
FormsAuthentication.RedirectFromLoginPage(LoginControl.UserName,false)在这种情况下,身份验证cookie将存储在浏览器的进程中,并且不会在浏览器的多个实例之间共享

如果您仍然有兴趣得到答案,我将尝试解释表单身份验证是如何工作的。 每次打开受保护页面时,系统都会检查身份验证cookie。若它不存在,系统将返回一个未授权的响应,并将用户重定向到登录页面。当用户输入登录名和密码时,请尝试使用提供的凭据对用户进行身份验证。若凭证有效,则系统生成身份验证cookie并将其发送到客户端浏览器。然后这个cookie将用于将来的请求。 有两种方法可以将此cookie存储在客户端: 第一个-当cookie在客户端硬盘上持久化时。在这种情况下,每次用户打开此站点的页面时,此特定cookie都会使用。每个浏览器实例的cookie都是相同的,因此不能使用不同的凭据打开不同的浏览器实例。 但第二种选择是,身份验证cookie不会持久保存在客户端的硬盘上,而是存储在浏览器的进程中。在这种情况下,您可以为不同的用户打开许多浏览器窗口。 正如我前面提到的,ASP.NET中的这两个场景可以通过为FormsAuthentication.SetAuthCookie或FormsAuthentication.RedirectFromLoginPage方法提供适当的第二个参数来实现:对于客户端硬盘上的持久cookie为true,对于浏览器进程中的存储cookie为false


顺便说一下,即使使用Windows身份验证,您也可以使用不同的凭据打开网站页面。要实现这一点,您必须使用“运行方式…”命令启动浏览器,并提供不同的Windows凭据。

唯一的方法是在查询字符串中保留会话ID。这是非常丑陋的,但可能(iirc)与表单身份验证。除非有非常明确的理由需要这样做,否则我建议不要这样做,唯一的方法是在查询字符串中保留会话ID。这是非常丑陋的,但可能(iirc)与表单身份验证。除非有非常明确的理由需要,否则我建议不要这样做

你是指浏览器窗口的实例还是不同的浏览器?同一浏览器的不同实例@OneHalfTrackMindMan:谢谢,我编辑过它。你以前使用过表单授权吗?@OneHalfTrackMindMan:你在开玩笑吧!!!你是指浏览器窗口的实例还是不同的浏览器?同一浏览器的不同实例@OneHalfTrackMindMan:谢谢,我编辑过它。你以前使用过表单授权吗?@OneHalfTrackMindMan:你在开玩笑吧!!!怎么样?当我登录一个实例并打开另一个实例时,第二个实例将被登录。当我从其中一个注销时,另一个将被注销。在IE和Gmail中试用它,你会发现它跨实例共享身份验证cookie。我也试过了,结果是一样的(身份验证cookie是shar)