1

我将在同一个域上运行一个 ASP.net MVC 网站 (example.com) 和一个 Web API 站点 (api.example.com)。使用表单身份验证允许用户登录到 MVC 站点并让[Authorize]API 站点中的过滤器接受该登录的最佳和最安全的方法是什么?此外,两个站点都可能托管在多台服务器上(每个服务器都可能有自己的子域),因此允许单点登录方法在集群中的所有服务器之间工作的解决方案将是首选。

4

1 回答 1

2

看看这个链接http://www.codeproject.com/Articles/27576/Single-Sign-on-in-ASP-NET-and-Other-Platforms这涵盖了详细的答案。

您需要确保站点上的所有机器和单独的应用程序共享一个通用(但对生产来说是唯一的)机器密钥,以允许所有机器/应用程序信任身份验证 cookie。

如果您只是在同一个子域下使用虚拟目录,那么简单地协调 web.conig Forms Auth 设置和机器密钥应该可以让您快速启动并运行。

如果您希望它在二级域之间工作,那么您需要更改表单的 Auth cookie 上的“域”设置。有关详细信息,请参阅文章。

于 2012-11-12T08:54:33.467 回答