Asp.net mvc 3 mvc3中类似tumblr的自定义域名跨域身份验证
在我们的项目中,我们为用户提供类似tumblr的子域以及自定义域名,如“mydomain.com”。因此,我有一个相同的服务器和一个应用程序,但域名不同 dns和路由都可以正常工作,但我遇到了身份验证问题。只需在web配置中指定计算机密钥和域名,就可以解决主域和子域的共享身份验证问题Asp.net mvc 3 mvc3中类似tumblr的自定义域名跨域身份验证,asp.net-mvc-3,authentication,web-config,Asp.net Mvc 3,Authentication,Web Config,在我们的项目中,我们为用户提供类似tumblr的子域以及自定义域名,如“mydomain.com”。因此,我有一个相同的服务器和一个应用程序,但域名不同 dns和路由都可以正常工作,但我遇到了身份验证问题。只需在web配置中指定计算机密钥和域名,就可以解决主域和子域的共享身份验证问题 <authentication mode="Forms"> <forms domain="xxx.com" loginUrl="~/account/logon" tim
<authentication mode="Forms">
<forms domain="xxx.com" loginUrl="~/account/logon" timeout="2880" />
</authentication>
毕竟,我仍然不知道如何实现自定义域名的跨域身份验证。是否可以在任何域之间共享特定服务器的身份验证数据?或者,如果我知道域名和机器密钥,也许我可以在服务器端检索此信息?一个解决方法是在本地存储中设置用户信息,客户端从“主域”设置,然后设置由子域创建的cookie,但对于所有签入/签出操作,您必须使用“主域”您可以搜索stakoverflow和所有兄弟站点的工作方式,因为它们正在使用SSO,所以解决这个问题,无论如何可能会对您有所帮助 编辑 有关更多信息,请参阅如何解决此问题
formsAuthentication.SingOut();
Session.Abandon();
HttpCookie cookie1 = new HttpCookie(FormsAuthentication.FormsCookieName, "");
cookie1.Expires = DateTime.Now.AddYears(-1);
Response.Cookies.Add(cookie1);
HttpCookie cookie2 = new HttpCookie("ASP.NET_SessionId", "");
cookie2.Expires = DateTime.Now.AddYears(-1);
Response.Cookies.Add(cookie2);
Response.Cache.SetCacheability(HttpCacheability.NoCache);
Response.Cache.SetNoStore();