我有MVC 4网站,其中有4个接入点:
1.www.domain.com
2. domain.com
3.www.domain.net
4. domain.net
问题是,当用户登录其中一个网址时,用户不会登录其他网址。因此,例如在登录“www.domain.com”后,用户未登录到“domain.com”,此行为适用于所有接入点。
用户可以同时登录所有接入点,但他必须填写4次登录表单。
可以从非www到www重写URL,但仍有2个域(.com / .net)。
在IIS中,是单站点绑定中的所有主机名形状。
知道我做错了吗?
答案 0 :(得分:0)
我有一个网站有类似的域名扩展名,包括https协议,我将所有其他域名转发到https://www.domain.com,它有利于搜索引擎优化的原因以及您的分析,我建议将所有域名转发到一个域名域。
此answer也说:
那么,如何跨多个域共享身份验证cookie? 好吧,绝对没有办法做到这一点。根本障碍 HTTP协议阻止您共享cookie 不同的域名,主要是出于安全原因。
...... ASP.NET中没有内置机制来实现Single 在这两个不同的网站上签名。
您可以使用web.config文件重定向网站,方法是将IIS中的网站设置为重定向文件夹:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<httpRedirect enabled="true" destination="https://www.domainname.com$S$Q" exactDestination="true" httpResponseStatus="Permanent" />
</system.webServer>
</configuration>
答案 1 :(得分:0)
如果所有内容都显示相同的内容,只需使用一个域作为主要内容。否则你可以使用oauth作为单一登录。