在3个网站之间共享身份验

时间:2013-08-26 14:54:03

标签: c# asp.net forms-authentication

我有一个主网站,有2个子网站。我想创建一种在网站上进行身份验证的简单方法,以便我可以查看其他2个子站点。

网站的设置如下:

www.example.com/
www.example.com/subsite1
www.example.com/subsite2

作为进一步的要求,subsite1和subsite2可以在不同的网站上重复使用。

我可以在ASP.NET中使用内置的身份验证模块吗?或者我是否必须创建自己的自定义Cookie?

3 个答案:

答案 0 :(得分:5)

是的,由于3个站点位于同一个域中,您可以在3个应用程序之间共享表单身份验证cookie。这可以通过在3个应用程序上设置domain属性来实现:

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

此外,您还应该在3个应用程序之间共享相同的机器密钥。请查看MSDN上的following article,其中包含更多详细信息。

答案 1 :(得分:0)

这取决于重复使用的“进一步要求”在单点登录环境中的重要程度。

简短的回答是:如果网站位于同一个域,则浏览器会将Cookie发送到每个网站,并自动重复使用表单身份验证。如果网站位于不同的域中,则需要实施单点登录的现有协议之一。

我个人认为,后者迟早会得到回报。

答案 2 :(得分:0)

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

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

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

Read this article(应用您正在使用的框架版本的设置。)

web.config部分的<authentication>部分,<form>标记处,为您的应用程序应用相同的名称,我认为这是委托人。