如何在实现不同身份验证类型的两个站点之间共享身份验证?
domain1.com由.NET2实现,并使用表单身份验证。
domain2.com是使用.NET4 MVC实现的,并使用OWIN身份验证(用户名密码)。
当用户先登录到domain1.com然后访问domain2.com时,domain2不应要求他再次登录。反之亦然。
我在两个配置文件中都设置了一个通用的machineKey。以下是domain1.com中的身份验证代码。
Dim oCookie As HttpCookie = System.Web.Security.FormsAuthentication.GetAuthCookie(username, False)
Dim ticket As FormsAuthenticationTicket = System.Web.Security.FormsAuthentication.Decrypt(oCookie.Value)
Dim oTicket As FormsAuthenticationTicket = New FormsAuthenticationTicket(ticket.Version, username, DateTime.Now, DateTime.Now.AddMinutes(60), True, "")
Dim cookieStr As String = FormsAuthentication.Encrypt(oTicket)
oCookie.Value = cookieStr
Response.Cookies.Add(oCookie)
System.Web.Security.FormsAuthentication.RedirectFromLoginPage(username, False)