Asp.net mvc 4 MVC 4具有通用登录的多个应用程序

Asp.net mvc 4 MVC 4具有通用登录的多个应用程序,asp.net-mvc-4,Asp.net Mvc 4,我已经用一个通用登录名创建了多个web应用程序。我有一个单独的会员数据库。将要访问的用户将自动重定向到。在这里,用户必须登录。一旦他们登录,就会有他们可以访问的应用程序的链接。但问题是,当他们单击其中一个链接(例如:)时,他们会被重定向到该应用程序的登录屏幕,而不是直接重定向到该应用程序的索引页。如何让应用程序知道用户已通过身份验证?当用户通过身份验证时,会添加一个cookie。正是这个cookie决定了用户是否“登录”。重要的是,此cookie经过加密并绑定到特定域。这对你来说意味着两件事:

我已经用一个通用登录名创建了多个web应用程序。我有一个单独的会员数据库。将要访问的用户将自动重定向到。在这里,用户必须登录。一旦他们登录,就会有他们可以访问的应用程序的链接。但问题是,当他们单击其中一个链接(例如:)时,他们会被重定向到该应用程序的登录屏幕,而不是直接重定向到该应用程序的索引页。如何让应用程序知道用户已通过身份验证?

当用户通过身份验证时,会添加一个cookie。正是这个cookie决定了用户是否“登录”。重要的是,此cookie经过加密并绑定到特定域。这对你来说意味着两件事:

  • 只有当所有站点都在同一个域上时,这才会起作用。它们可以位于子域上,但它们必须位于同一根域之外(即site1.foo.com和site2.foo.com可以,但site1.com和site2.com不起作用)

  • 所有站点都可以解密相同的cookie,这意味着它们必须共享相同的机器密钥。有关更多信息,请参阅

  • 由于所有内容当前都在本地主机上运行,#2可能是您的问题。但是,在部署时请记住#1