表格身份验证和不带域名的URL访问

问题描述 投票:0回答:1

我有一个使用表单身份验证的网站,但是我试图了解使用的URL不包含域名时会发生什么。

[如果转到https://<machinename>.<domain_name>:57850,则进入登录屏幕并登录,可以使用浏览器中相同标签或新标签使用网站上的任何页面,但是如果我打开一个新标签并尝试了[ C0]我未通过身份验证,并进入登录屏幕。

这是正常行为吗?我可以使用“表单身份验证”来做些什么,使我可以在使用/不使用URL中的域名(可能是web.config设置)之间进行交换吗?

我甚至都在努力为这个问题定义正确的用语,这就是为什么我认为我没有找到任何有用的术语来描述这一问题。

希望有人可以给我一些指导。

谢谢

.net forms-authentication
1个回答
0
投票

通常,https://<machinename>:57850依赖Cookie。 Cookies与域绑定。它们可以绑定到根域,因此,例如,与example.com绑定的cookie可以在a.example.com和b.example.com上运行,但永远不能跨域。就您的浏览器而言,Form Authentication<machinename>.<domain_name>不同,因此不会提供来自先前域的cookie。否则,仅通过从其他站点请求cookie来窃取登录名将非常容易。

[<machinename>选项,在一个域上登录将使您在另一域上登录,但是您的应用程序的安全性将大大降低,尤其是在防止重放攻击的情况下,URL将会变得非常丑陋(因为它取代了Cookie)。

另一方面,您的应用程序并不真正在乎您使用哪个域来访问它。即使使用cookie,也可以通过Cookieless<machinename>.<domain_name>甚至<machinename>访问。每个域只有一个Cookie,但是登录后就可以进入。

© www.soinside.com 2019 - 2024. All rights reserved.