在3个网站之间共享身份验证
本文关键字:共享 身份验证 之间 网站 3个 | 更新日期: 2023-09-27 18:29:13
我有一个主网站,有两个子网站。我想创建一个简单的方式来验证一个网站,这样我就可以查看其他2个子网站。
网站设置如下:
www.example.com/
www.example.com/subsite1
www.example.com/subsite2
作为进一步的要求,子网站1和子网站2可以在不同的网站上重复使用。
我可以使用ASP.NET中内置的身份验证模块吗还是我必须创建自己的自定义cookie?
是的,由于这3个站点位于同一域上,您可以在这3个应用程序之间共享表单身份验证cookie。这可以通过在以下3个应用程序上设置domain
属性来实现:
<forms domain="www.example.com" ...>
同样,为了实现这一点,您应该在3个应用程序之间共享相同的机器密钥。请查看MSDN上的following article
,它将提供更多详细信息。
这取决于重用的"进一步要求"在单点登录上下文中的重要性。
简单的答案是:如果网站在同一个域上,浏览器会向每个网站发送cookie,表单身份验证会自动重复使用。如果网站位于不同的域,则需要实现现有的单点登录协议之一。
我个人的看法是,后者迟早会得到回报。
无需为此复杂地创建模块。
其子网站将共享cookie,因为cookie是根据域创建的,而不是根据子域创建的。
我认为必须进行不同的身份验证没有问题,因为它只会为每个子网站管理不同的身份认证cookie。
阅读本文(应用您正在使用的框架版本的设置。)
在web.config
、<authentication>
部分、<form>
标记中,为您的应用程序应用相同的名称,我认为这是主体。