在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个站点位于同一域上,您可以在这3个应用程序之间共享表单身份验证cookie。这可以通过在以下3个应用程序上设置domain属性来实现:

<forms domain="www.example.com" ...>

同样,为了实现这一点,您应该在3个应用程序之间共享相同的机器密钥。请查看MSDN上的following article,它将提供更多详细信息。

这取决于重用的"进一步要求"在单点登录上下文中的重要性。

简单的答案是:如果网站在同一个域上,浏览器会向每个网站发送cookie,表单身份验证会自动重复使用。如果网站位于不同的域,则需要实现现有的单点登录协议之一。

我个人的看法是,后者迟早会得到回报。

无需为此复杂地创建模块。

其子网站将共享cookie,因为cookie是根据域创建的,而不是根据子域创建的。

我认为必须进行不同的身份验证没有问题,因为它只会为每个子网站管理不同的身份认证cookie。

阅读本文(应用您正在使用的框架版本的设置。)

web.config<authentication>部分、<form>标记中,为您的应用程序应用相同的名称,我认为这是主体。