我有一个主网站,有2个子网站。我想创建一种在网站上进行身份验证的简单方法,以便我可以查看其他2个子站点。
网站的设置如下:
www.example.com/
www.example.com/subsite1
www.example.com/subsite2
作为进一步的要求,subsite1和subsite2可以在不同的网站上重复使用。
我可以在ASP.NET中使用内置的身份验证模块吗?或者我是否必须创建自己的自定义Cookie?
答案 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>
标记处,为您的应用程序应用相同的名称,我认为这是委托人。